Форум: "Начинающим";
Текущий архив: 2009.04.12;
Скачать: [xml.tar.bz2];
Внизвопрос связи поток и 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c