|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Абстрактная ошибка
Помогите разобраться, не знаю уже что сделать:
Код:
type TADD_NEW = class(TForm) Button1: TButton; PageControl1: TPageControl; TabSheet1: TTabSheet; GroupBox1: TGroupBox; DBLookupComboboxEh1: TDBLookupComboboxEh; DBEditEh1: TDBEditEh; DBEditEh2: TDBEditEh; DBLookupComboboxEh7: TDBLookupComboboxEh; GroupBox2: TGroupBox; DBLookupComboboxEh2: TDBLookupComboboxEh; DBEditEh3: TDBEditEh; DBLookupComboboxEh8: TDBLookupComboboxEh; GroupBox3: TGroupBox; DBLookupComboboxEh3: TDBLookupComboboxEh; DBEditEh4: TDBEditEh; DBLookupComboboxEh9: TDBLookupComboboxEh; DBLookupComboboxEh17: TDBLookupComboboxEh; DBEditEh11: TDBEditEh; DBLookupComboboxEh18: TDBLookupComboboxEh; DBLookupComboboxEh19: TDBLookupComboboxEh; DBEditEh12: TDBEditEh; DBLookupComboboxEh20: TDBLookupComboboxEh; DBLookupComboboxEh21: TDBLookupComboboxEh; DBEditEh13: TDBEditEh; DBLookupComboboxEh22: TDBLookupComboboxEh; GroupBox4: TGroupBox; DBLookupComboboxEh4: TDBLookupComboboxEh; DBEditEh5: TDBEditEh; DBLookupComboboxEh13: TDBLookupComboboxEh; DBEditEh9: TDBEditEh; DBLookupComboboxEh14: TDBLookupComboboxEh; DBEditEh10: TDBEditEh; DBLookupComboboxEh15: TDBLookupComboboxEh; DBLookupComboboxEh16: TDBLookupComboboxEh; DBLookupComboboxEh10: TDBLookupComboboxEh; DBLookupComboboxEh5: TDBLookupComboboxEh; DBEditEh6: TDBEditEh; DBLookupComboboxEh11: TDBLookupComboboxEh; GroupBox6: TGroupBox; DBEditEh7: TDBEditEh; DBLookupComboboxEh12: TDBLookupComboboxEh; DBLookupComboboxEh6: TDBLookupComboboxEh; GroupBox5: TGroupBox; DBLookupComboboxEh23: TDBLookupComboboxEh; DBLookupComboboxEh24: TDBLookupComboboxEh; TabSheet2: TTabSheet; GroupBox7: TGroupBox; DBLookupComboboxEh27: TDBLookupComboboxEh; DBEditEh15: TDBEditEh; DBLookupComboboxEh28: TDBLookupComboboxEh; GroupBox8: TGroupBox; DBLookupComboboxEh29: TDBLookupComboboxEh; DBLookupComboboxEh30: TDBLookupComboboxEh; GroupBox9: TGroupBox; DBLookupComboboxEh31: TDBLookupComboboxEh; DBLookupComboboxEh32: TDBLookupComboboxEh; GroupBox12: TGroupBox; DBLookupComboboxEh37: TDBLookupComboboxEh; DBLookupComboboxEh38: TDBLookupComboboxEh; DBLookupComboboxEh41: TDBLookupComboboxEh; DBEditEh23: TDBEditEh; DBLookupComboboxEh42: TDBLookupComboboxEh; TabSheet3: TTabSheet; GroupBox13: TGroupBox; DBLookupComboboxEh39: TDBLookupComboboxEh; DBEditEh22: TDBEditEh; DBEditEh25: TDBEditEh; DBLookupComboboxEh40: TDBLookupComboboxEh; GroupBox14: TGroupBox; DBLookupComboboxEh43: TDBLookupComboboxEh; DBEditEh26: TDBEditEh; DBLookupComboboxEh44: TDBLookupComboboxEh; GroupBox16: TGroupBox; DBLookupComboboxEh47: TDBLookupComboboxEh; DBLookupComboboxEh48: TDBLookupComboboxEh; GroupBox17: TGroupBox; DBLookupComboboxEh49: TDBLookupComboboxEh; DBEditEh31: TDBEditEh; DBLookupComboboxEh50: TDBLookupComboboxEh; GroupBox15: TGroupBox; DBLookupComboboxEh45: TDBLookupComboboxEh; DBLookupComboboxEh46: TDBLookupComboboxEh; GroupBox18: TGroupBox; DBLookupComboboxEh51: TDBLookupComboboxEh; DBEditEh29: TDBEditEh; DBEditEh32: TDBEditEh; DBLookupComboboxEh52: TDBLookupComboboxEh; GroupBox19: TGroupBox; DBLookupComboboxEh53: TDBLookupComboboxEh; DBLookupComboboxEh54: TDBLookupComboboxEh; TabSheet4: TTabSheet; GroupBox20: TGroupBox; DBEditEh34: TDBEditEh; GroupBox21: TGroupBox; DBEditEh35: TDBEditEh; GroupBox23: TGroupBox; DBLookupComboboxEh56: TDBLookupComboboxEh; GroupBox24: TGroupBox; DBLookupComboboxEh57: TDBLookupComboboxEh; GroupBox25: TGroupBox; GroupBox26: TGroupBox; DBEditEh36: TDBEditEh; GroupBox27: TGroupBox; DBLookupComboboxEh59: TDBLookupComboboxEh; GroupBox28: TGroupBox; DBEditEh37: TDBEditEh; GroupBox29: TGroupBox; DBEditEh38: TDBEditEh; GroupBox30: TGroupBox; DBEditEh39: TDBEditEh; GroupBox31: TGroupBox; DBEditEh40: TDBEditEh; GroupBox32: TGroupBox; DBEditEh41: TDBEditEh; GroupBox35: TGroupBox; DBEditEh42: TDBEditEh; TabSheet5: TTabSheet; GroupBox22: TGroupBox; DBLookupComboboxEh55: TDBLookupComboboxEh; GroupBox36: TGroupBox; DBLookupComboboxEh61: TDBLookupComboboxEh; GroupBox37: TGroupBox; DBLookupComboboxEh62: TDBLookupComboboxEh; DBLookupComboboxEh63: TDBLookupComboboxEh; DBLookupComboboxEh64: TDBLookupComboboxEh; DBLookupComboboxEh65: TDBLookupComboboxEh; DBLookupComboboxEh66: TDBLookupComboboxEh; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; GroupBox39: TGroupBox; DBLookupComboboxEh67: TDBLookupComboboxEh; TabSheet6: TTabSheet; GroupBox40: TGroupBox; DBLookupComboboxEh68: TDBLookupComboboxEh; GroupBox41: TGroupBox; GroupBox42: TGroupBox; DBDateTimeEditEh2: TDBDateTimeEditEh; DBDateTimeEditEh3: TDBDateTimeEditEh; GroupBox43: TGroupBox; Label6: TLabel; DBEditEh45: TDBEditEh; TabSheet7: TTabSheet; GroupBox44: TGroupBox; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; DBEditEh46: TDBEditEh; DBEditEh47: TDBEditEh; DBEditEh48: TDBEditEh; DBEditEh49: TDBEditEh; DBEditEh50: TDBEditEh; GroupBox45: TGroupBox; DBLookupComboboxEh69: TDBLookupComboboxEh; DBEditEh51: TDBEditEh; DBEditEh52: TDBEditEh; DBLookupComboboxEh70: TDBLookupComboboxEh; DBLookupComboboxEh71: TDBLookupComboboxEh; DBEditEh53: TDBEditEh; DBEditEh54: TDBEditEh; DBLookupComboboxEh72: TDBLookupComboboxEh; GroupBox46: TGroupBox; DBDateTimeEditEh4: TDBDateTimeEditEh; ImageList1: TImageList; DBEditEh43: TDBEditEh; GroupBox10: TGroupBox; DBLookupComboboxEh33: TDBLookupComboboxEh; DBLookupComboboxEh34: TDBLookupComboboxEh; GroupBox11: TGroupBox; DBLookupComboboxEh35: TDBLookupComboboxEh; DBLookupComboboxEh36: TDBLookupComboboxEh; procedure Button1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var ADD_NEW: TADD_NEW; implementation uses Unit1, Unit3, Unit4, Unit5; {$R *.dfm} //Нажатие кнопки сохранить при добавлении нового компьютера procedure TADD_NEW.Button1Click(Sender: TObject); begin IF ( DBLookupComboboxEh56.Text= '') THEN ShowMessage('Выбери отдел') ELSE begin DataModule4.ADO_KOMPI.Insert; DataModule4.ADO_KOMPI.FieldByName('nomerPC').AsString := DBEditEh42.Text; DataModule4.ADO_KOMPI.FieldByName('CPU1').AsString := DBLookupComboboxEh1.Text; DataModule4.ADO_KOMPI.FieldByName('CPUmhz1').AsString := DBEditEh1.Text; DataModule4.ADO_KOMPI.FieldByName('CPUSocket1').AsString := DBEditEh2.Text; DataModule4.ADO_KOMPI.FieldByName('CPUProizv1').AsString := DBLookupComboboxEh7.Text; IF MessageDlg('Вы уверены что хотите добавить новый компьютер в базу?',mtConfirmation,[mbYes, mbNo],0)=mrYes THEN BEGIN DataModule4.ADO_KOMPI.Post; ADD_NEW.Close; // В этом месте появляется абстрактная ошибка end; ShowMessage('Компьютер успешно добавлен'); end; end; Нужно закрыть дочернюю форму во время выполнения кода. При закрытии вываливается абстрактная ошибка. Что не так? Последний раз редактировалось Admin, 13.04.2010 в 11:23. |
#2
|
|||
|
|||
Можно сделать так :
Код:
type TADD_NEW = class(TForm) ... ... public function Execute : boolean; end; var ADD_NEW: TADD_NEW; implementation function TADD_NEW.Execute : boolean; begin Result:=false; ... ... if ShowModal=mrOk then begin Result:=true; end; end; В обработчике : procedure TADD_NEW.Button1Click(Sender: TObject); заменить ЭТО : ADD_NEW.Close; // В этом месте появляется абстрактная ошибка на ЭТО : ModalResult:=mrOk; Форму вызывать так : ADD_NEW.Execute; |