Zitat von
jfheins:
Das tut er doch bereits
Delphi-Quellcode:
constructor TMessageBoxThread.Create(msg:String);
begin
inherited Create(false);
text := msg;
Priority := tpLower;
end;
Nur darfst du dann keine Properties mehr setzten nachdem du den kOnstruktor aufgerufen hast ...
Zu dem Char-Array-Pronblem: Schonmal versucht, den String einfach nach PChar zu casten?
oh je, natürlich funkt es, ich dachte ich muss Resume immer aufrufen.
Das mit PChar war das erste was ich probiert hatte. Zu dem Zeitpunkt hat es jedoch
Fehlermeldungen geregnet, allerding nicht wegen cast auf PChar wie ich soeben gemerkt
habe. Auch das geht also. So gefehlt mir das.
Tausend Dank Julius Du warst mir eine große Hilfe.
Gruß Kostas
Delphi-Quellcode:
unit MessageBoxThread;
interface
uses
Classes, Dialogs, Forms, Sysutils, Windows;
type
TMessageBoxThread =
class(TThread)
private
{ Private-Deklarationen }
protected
text:
string;
procedure Execute;
override;
public
constructor Create(msg:
string);
end;
implementation
{ TMessageBoxThread }
constructor TMessageBoxThread.Create(msg:
String);
begin
inherited Create(false);
text := msg;
Priority := tpLower;
end;
procedure TMessageBoxThread.Execute;
begin
windows.MessageBox(
handle, Pchar(text), '
Fingerabdruck gefunden!', MB_OK);
end;
end.
Aus dem Aufruf ist jetzt nur noch das übrichgeblieben.
ThreadMB := TMessageBoxThread.Create(s);