Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Ошибка при работе с DLL. "access violation at ... "   Найти похожие ветки 

 
Def_128   (2004-03-21 13:54) [0]

Всем привет! Может кто сталкивался с такой ситуацией, помогите пожалуйста!
Использую DLL в которой хранится форма. Вызываю ее таким способом

@MainFormShow := nil;
LibHandle := LoadLibrary("Main.DLL");
if LibHandle >= 32 then begin
  @MainFormShow := GetProcAddress(LibHandle,"MainFormShow");
if @MainFormShow <> nil then
  MainFormShow;
end;
FreeLibrary(LibHandle);

В самой DLL

Procedure MainFormShow; stdcall;
Begin
  MainForm := TMainForm.Create(nil);
  MainForm.ShowModal;
  MainForm.Free;
End;

Форма открывается, работает, но в какойто момент происходит ошибка "access violation at ... : write of address". Это происходит в процедурах, которые уже отрабатывали несколько раз. Например на условии в этой процедуре

procedure TMainForm.CheckBox1Click(Sender: TObject);
begin
  If Self.CheckBox1.Checked Then Begin
     ...
  End;
end;

или в этой процедуре

Procedure TMainForm.RefrSummaCount ;
Begin
 DataModule.SumQuery.SQL.Clear;
 DataModule.SumQuery.SQL.Add("Select Sum(price*nom) summa,Count(*) nomer From ");
 DataModule.SumQuery.SQL.Add(""""+LeftStr(DataModule.TovarTable.TableName,(Length(DataModule.TovarTable.TableName)-4))+"" "");
 DataModule.SumQuery.SQL.Add(" Where nom>0");  (Ошибка)
 DataModule.SumQuery.Active := True;
...
End;

Подскажите пожалуйста, как это лечить ...


 
Def_128   (2004-03-21 14:04) [1]

Я не знаю после чего ошибка перестала появляться. Но сейчас взрыв не происходит. По коду ничего не менял, кажется ...


 
VMcL ©   (2004-03-21 15:08) [2]

ПолтерГЕЙТС.


 
just me   (2004-03-21 15:32) [3]

Если ссылка на DataModule передается из вызывающей апликации, то причина ясна.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
1-1079941281
Rem
2004-03-22 10:41
2004.04.11
Как работать с OLE_HANDLE?


3-1079080641
Russko
2004-03-12 11:37
2004.04.11
Table is read only


1-1080210217
SergP
2004-03-25 13:23
2004.04.11
Как запретить запуск нового процесса?


7-1080381695
Alt-Ctrl-Del
2004-03-27 13:01
2004.04.11
Закрыть приложение (Очень Нужно)


1-1082454727
webpauk
2004-04-20 13:52
2004.04.11
Центровка надписи