Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.04.2010, 09:13
masterpablo masterpablo вне форума
Прохожий
 
Регистрация: 13.04.2010
Сообщения: 1
Репутация: 10
По умолчанию Абстрактная ошибка

Помогите разобраться, не знаю уже что сделать:

Код:
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: Пользуемся тегами!

Нужно закрыть дочернюю форму во время выполнения кода. При закрытии вываливается абстрактная ошибка. Что не так?

Последний раз редактировалось Admin, 13.04.2010 в 11:23.
Ответить с цитированием
  #2  
Старый 13.04.2010, 21:37
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

Можно сделать так :
Код:
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;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:17.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter