Hallo,
ist zwar etwas spät, aber besser spät als nie!! oder??
Es ist ganz einfach: Man lasse in StartBurn das TBurnThread.Create(self) weg und ruft ohne Thread ExecuteCopies und iiCDBurn.Burn((Owner as TForm).Handle) auf.
Sieht dann so aus:
Delphi-Quellcode:
procedure TCDBurner.StartBurn;
begin
if (not fIsBurning) and fInitialized then
begin
fIsBurning := True;
// TBurnThread.Create(self);
// ab hier bis end neu, damit es auch mit vista geht
ExecuteCopies;
iiCDBurn.Burn((Owner as TForm).Handle);
FIsBurning := False;
if Assigned(fOnBurnDone) then fOnBurnDone(0);
end
else if Assigned(fOnBurnDone) then fOnBurnDone(-1);
end;
Vielleicht hilft es noch jemand.
Meine Frage wäre allerdings: Warum funktioniert das Ganze im Thread nicht???