Forum: Sonstige Fragen zu Delphi
by Megamorph,
27. Dez 2008
@Uwe Raabe: Es funktioniert tatsächlich auf diese Weise, vielen Dank!
Wenn man sich das ganze im Speicher anschaut, ist es auch logisch, weil die Delphi-Bezeichner für die Variablen der Klasse eine Art Pointer-Gerüst darstellen, welches sich relativ vom Klassennamen aufbaut. Wenn man nun BeginThread ohne weitere Parameter aufruft, wird bei der Pointerberechnung 00000000 + <relative Adresse>...
Forum: Sonstige Fragen zu Delphi
by Megamorph,
27. Dez 2008
Hallo,
@Luckie: Danke, genau das habe ich gesucht! So funktioniert es jetzt auch. (-:
@alzaimar:
>Innerhalb der Methode greifst Du aber auf eine private Variable der Klasse zu. Ohne Objekt geht das immer in die Hose.
Ein klares "falsch"! Der Bauplan für ein Objekt ist eine Klasse. Methoden sind Proceduren/Funktionen, die Member der Klasse sind. Methoden können auf interne(private) und...
Forum: Sonstige Fragen zu Delphi
by Megamorph,
27. Dez 2008
> Bitte, wenn du meinst. :roll: ("Nicht threadsicher" <> "Führt garantiert zum Absturz")
- MessageBox alleine crasht nicht
- Klassenzugriff alleine crasht
Also liegt es zumindest in diesem Fall am Klassenzugriff. Die Messageboxes habe ich auch nur als Debuggingmittel verwendet, sie sollen im fertigen Programm nicht mehr im Thread laufen.
> 1. Lies nochmal, wie man 'CreateThread' genau...
Forum: Sonstige Fragen zu Delphi
by Megamorph,
27. Dez 2008
Ich versichere, es liegt nicht an den Messageboxen.
procedure TXxxxxxx.WorkThread;
begin
while true do
begin
MessageBox(0,'1','',MB_OK);
if bActive_ then begin end;
MessageBox(0,'2','',MB_OK);
end;
Forum: Sonstige Fragen zu Delphi
by Megamorph,
26. Dez 2008
Ich habe leider bei der Verwendung eines Threads in meiner Klasse ein Absturtzproblem, der Compiler meldet weder Warnings noch Fehler. Hier ein Codestück:
type
TXxxxxxx = class
private
//...
bActive_ : Boolean;
public
//...
constructor Create;