Главная страница
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.018 c
15-1234557903
@!!ex
2009-02-13 23:45
2009.04.12
Помогите с функцией чтения файла на С++


15-1234359947
Ega23
2009-02-11 16:45
2009.04.12
А нужна ли конференция "Основная"?


2-1235652014
антон1243232
2009-02-26 15:40
2009.04.12
Группировка


2-1235371106
Ryden
2009-02-23 09:38
2009.04.12
Как повернуть компанент TDBGrid


15-1234438591
Урсулапов_
2009-02-12 14:36
2009.04.12
Как узнать описание имени компьютера в сети?