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

Вниз

вопрос связи поток и DataModule   Найти похожие ветки 

 
vegarulez ©   (2009-02-24 08:09) [0]

добрый день всем мастерам!
Вопрос такой - почему при обращении из потока(Tthread) к компоненту из DataModule происходит ошибка. С DataModule из потока нельзя работать?

...
Synchronize(UpdateCaption);
...

procedure TSt.UpdateCaption;
begin
try
 if DModule.DM.ZConnection1.Connected=false then
  DModule.DM.ZConnection1.Connected:=true;
 DModule.DM.ZQuery1.Close;
 DM.ZQuery1.Sql.Text:=sql_str;
 DM.ZQuery1.ExecSQL;
except
on E: Exception do
 begin
  DM.ZQuery1.Close;
  File_Save(""+#10+"Error:St.UpdateCaption:"+ E.Message +"_"+ inttostr(E.HelpContext));
 end;
end;
end;


 
Сергей М. ©   (2009-02-24 08:56) [1]


> С DataModule из потока нельзя работать?


Можно.


> почему ..происходит ошибка


Тебе видней почему.
Отсюда не видно что за ошибка.


 
vegarulez ©   (2009-02-24 09:14) [2]

try
...
Synchronize(UpdateCaption);
...
except
on E: Exception do
 File_Save(""+#10+"Error:SE.Execute_2:"+ E.Message +"_"+ inttostr(E.HelpContext));
end;

....
procedure TSt.UpdateCaption;
begin
try
if DModule.DM.ZConnection1.Connected=false then
 DModule.DM.ZConnection1.Connected:=true;
DModule.DM.ZQuery1.Close;
DM.ZQuery1.Sql.Text:=sql_str;
DM.ZQuery1.ExecSQL;
except
on E: Exception do
begin
 DM.ZQuery1.Close;
 File_Save(""+#10+"Error:St.UpdateCaption:"+ E.Message +"_"+ inttostr(E.HelpContext));
end;
end;
end;


ошибка -
Error:SE.Execute_2:Access violation at address 005A0C9B in module "Project2.exe". Read of address 00000058_0_metka:2


 
девушка   (2009-02-24 09:16) [3]

DModule.DM - что за переменная??? какой тип?

Вы уверены что все используемые переменные успевают инициализироваться до запуска потока?


 
Сергей М. ©   (2009-02-24 09:50) [4]


> vegarulez ©   (24.02.09 09:14) [2]


Скорее всего DM не инициализирована


 
vegarulez ©   (2009-02-24 10:10) [5]

всё кажется понял в чём трабла...
она инициализирована )
просто я делаю DM.Free  после Application.Run в project2.pas;
Поэтому конешно он не может к нему обратится ))
Сечас уберу эту досадную оплошность.


 
vegarulez ©   (2009-02-24 10:13) [6]

хм... что-то не помогло вылетает на проверке
if DM.ZConnection1.Connected=false then


 
Медвежонок Пятачок ©   (2009-02-24 10:21) [7]

она инициализирована )

"она" не инициализирована.


 
vegarulez ©   (2009-02-24 10:43) [8]

Медвежонок Пятачок ©   (24.02.09 10:21) [7]
Сергей М. ©   (24.02.09 09:50) [4]
аха спасибо.
Помогло.

Application.CreateForm(TDM, DM);


 
Anatoly Podgoretsky ©   (2009-02-24 14:13) [9]


> просто я делаю DM.Free  после Application.Run в project2.
> pas;

Нифига себе.


 
Anatoly Podgoretsky ©   (2009-02-24 14:13) [10]


> Application.CreateForm(TDM, DM);

Нифига себе.


 
vegarulez ©   (2009-02-24 14:53) [11]

Anatoly Podgoretsky ©   (24.02.09 14:13) [10]

под бутиратом? :)



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

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

Наверх




Память: 0.49 MB
Время: 0.014 c
2-1235069146
vps
2009-02-19 21:45
2009.04.12
Out of memory,


2-1235523225
Abcdef123
2009-02-25 03:53
2009.04.12
Почему не работает функция StrToBool?


2-1234471401
KillaTank
2009-02-12 23:43
2009.04.12
Создание DBF файла во время работы приложения


15-1234338924
Дмитрий С
2009-02-11 10:55
2009.04.12
Изменение прав доступа NTFS через какой либо COM obj.


2-1235458696
DevilDevil
2009-02-24 09:58
2009.04.12
DoubleBuffered и Delphi7