Главная страница
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.049 c
1-1082456517
alextov
2004-04-20 14:21
2004.04.11
Один метод для разных типов передаваемых в него параметров


1-1079886820
Batoon
2004-03-21 19:33
2004.04.11
Тильда и VK_...


3-1079085790
Романов Р.В.
2004-03-12 13:03
2004.04.11
Сброс буфера в базу


1-1080192480
ghostbusterr
2004-03-25 08:28
2004.04.11
Проблема DecimalSeparator


1-1082763405
/\_A_M_E_P
2004-04-24 03:36
2004.04.11
Как програмно сделать главное окно програмы невидимым?