Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.031 c
14-1082357165
MalkoLinge
2004-04-19 10:46
2004.04.11
Выжившие Есть ? После Встречи в Реале


1-1080215024
Кипяток
2004-03-25 14:43
2004.04.11
Вопрос по TThread


1-1080242958
Basilio
2004-03-25 22:29
2004.04.11
Class completion не работает


8-1076068502
$tranger
2004-02-06 14:55
2004.04.11
Непрямоугольная форма на основе TImage


1-1079879138
Prankster.
2004-03-21 17:25
2004.04.11
Маска в Edit




   Наверх