Thema: Delphi Problem mit LoadPackage

Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Problem mit LoadPackage

  Alt 2. Mai 2005, 14:35
Dieses Problem bezieht sich auf Delphi 7.


Hallo,

ich habe folgendes Problem:

Wenn Delphi gestartet wird und nicht alle eingebundenen Package vorhanden sind, gibts eine Fehlermeldung ('Package xyz.bpl konnte nicht geladen werden'). Wenn ich nun delphi32.exe beende (den Prozess kille), bleibt die Fehlermeldung auf dem Bildschirm stehen. Die Fehlermeldung gehört nicht delphi32.exe, sondern dem Prozess "csrss.exe". Bei einem neuen Delphi Start kommt es gar nicht erst zu einer Meldung, es wird erst gewartet, bis diese Meldung weg geklickt wurde.

Meine Frage ist nun: Wie bekomme ich diese Fehlermeldung weg, ohne den Task csrss.exe zu killen.

Damit es nicht so einfach ist, das Ganze läuft nicht im Benutzermodus, sondern als Dienst.
-> Es ist also kein Benutzer angemeldet der das Fenster sehen würde.

Zum Testen habe ich 2 kleine Package und ein Testprogramm geschrieben.
- Package2.bpl benötigt das Package1.bpl zum starten.
- Project1.exe läd mit LoadPackage('Package2.bpl') das Package -> Fehlermeldung
- Project1.exe kann nun mit Taskmanager beendet werden (Prozess beenden) -> Die FGehlermeldung bleibt stehen.

Anmerkung:
Was mich wundert ist, dass in der SysUtils.LoadPackage ein
Delphi-Quellcode:
...
    raise EPackageError.CreateResFmt(@sErrorLoadingPackage,
      [Name,
       {$IFDEF MSWINDOWS}SysErrorMessage(GetLastError){$ENDIF}
       {$IFDEF LINUX}DLErrorMsg{$ENDIF}]);
...
aufgerufen wird. Dieses raise erzeugt das Fenster, das nicht mehr Delphi gehört. Ein raise Exception.Create('Test'); bringt eine Fehlermeldung, die aber mit dem Killen des Project1.exe Prozeses weg ist.

Für Eure Hilfe bedanke ich mich schon mal im Voraus
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat