Форум: "Потрепаться";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизНе совсем уверен в своем коде Найти похожие ветки
← →
Style © (2004-04-28 09:48) [0]Создаю системное модальное сообщение MB_SYSTEMMODAL и у меня тормозится вся нить, поэтому решил запихать MessageBox в отдельный TThread
type
TMsgThread = class(TThread)
private
FCaption, FText: string;
FFlags: integer;
protected
procedure Execute; override;
public
constructor Create(Text,Caption: string; Flags: integer);
end;
implementation
{ TMsgThread }
constructor TMsgThread.Create(Text,Caption: string; Flags: integer);
begin
inherited Create(false);
FCaption := Caption;
FText := Text;
FFlags := Flags;
end;
procedure TMsgThread.Execute;
begin
MessageBox(0,pchar(FText),pchar(FCaption),FFlags);
inherited Destroy;
end;
И показываю теперь сообщение вот так:TMsgThread.Create(
"Получено сообщение от " + From + ": "#13#10 + Text,"Внимание!",MB_OK or MB_SYSTEMMODAL or MB_ICONINFORMATION);
т.е. реально я пользуюсь только классовым методом.
Ни чем мне не грозит такая конструкция?
← →
pasha_golub © (2004-04-28 09:58) [1]procedure TMsgThread.Execute;
begin
MessageBox(0,pchar(FText),pchar(FCaption),FFlags);
inherited Destroy;
end;
А с каких это пор деструктор начали отсюда вызывать?
← →
pasha_golub © (2004-04-28 10:00) [2]Удалено модератором
Примечание: Дубль
← →
Style © (2004-04-28 10:04) [3]>> inherited Destroy;
А мне нить больше и дальше не нужна..
Вот собственно и интересно все ли корректно или могут быть проблеммы, после такого вызова?
← →
clickmaker © (2004-04-28 10:07) [4]
> Style © (28.04.04 10:04) [3]
> >> inherited Destroy;
> А мне нить больше и дальше не нужна..
А зачем вообще явно деструктор вызывать? Поток и так умрет после выхода из Execute
← →
pasha_golub © (2004-04-28 10:08) [5]clickmaker © (28.04.04 10:07) [4]
Вот и я про тоже, достаточно FreeOnTerminate := True;
← →
Style © (2004-04-28 10:10) [6]>>А зачем вообще явно деструктор вызывать? Поток и так умрет
>>после выхода из Execute
т.е. его вообще можно убрать..
Спасибо..
А если я его явно указал, от этого хуже не будет???
← →
Игорь Шевченко © (2004-04-28 11:27) [7]
> А если я его явно указал, от этого хуже не будет???
Сура 18 Корана гласит: не вызывайте деструкторы явно.
← →
Style © (2004-04-28 11:29) [8]Всем спасибо
FreeOnTerminate := True;
сделал...
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c