Hi,
ich habe eine
DLL gemacht, die beim Init eine Form erzeugt und einen Timer startet:
Delphi-Quellcode:
function InitDLL(Callback : TCallback):Boolean; stdcall;
begin
try
//plugin gets loaded, create Form
if Not Assigned(frMain) then
frMain := TfrMain.Create(NIL);
frMain.AddLog('plugin got init');
//start startupdelay
frMain.StartStartUpDelay(StartDelay);
finally
Result := Assigned(frMain);
end;
end;
end;
procedure TfrMain.StartStartUpDelay(Interval:Integer);
begin
//start startup delay
StartUpDelay.Interval := Interval;
StartUpDelay.Enabled := True;
end;
Wenn die
DLL nun von eine Test-
VCL Form von Delphi geladen wird und das Init aufgerufen wird, wird das Timer Event von StartUpDelay ausgelöst.
Wenn die
DLL aber von einer C-Console-App (VS2008) geladen wird, wird das Timer Event nicht ausgelöst!?
Erst wenn ich die Form anzeige wird das Event ausgelöst:
Delphi-Quellcode:
procedure ShowForm();
begin
if Assigned(frMain) then
begin
frMain.ShowModal;
end;
end;
Sobald Showmodal aufgerufen wird spingt der Code in die StartUpDelay Timer Routine.
Woran kann das liegen?