Einzelnen Beitrag anzeigen

sebi87
(Gast)

n/a Beiträge
 
#1

Formular in DLL

  Alt 30. Jan 2010, 20:11
Hallo Leute,

ich habe eines meiner Formulare in eine DLL ausgelagert und erzeuge und öffne das Formular von meiner HAuptanwendung aus.

Funktion in der DLL um das Formular ertellen und anzuzeigen
Delphi-Quellcode:
procedure PluginForm(appHandle: THandle) ;
var
  oldApp : THandle ;
begin
  oldApp := Application.Handle ;
  if appHandle = 0 then appHandle := GetActiveWindow ;
  Application.Handle := appHandle ;
  try
    with TForm1.Create(Application) do
    try
      ShowModal ;
    finally
      Release ;
    end ;
 except
   On E: Exception Do Application.HandleException(E) ;
  end ;
  Application.Handle := oldApp ;
end ;
in meinem Hauptprogramm rufe ich das ganze dann so auf:
PluginForm(Application.Handle) ; Natürlich nachdem die DLL ordnungsgemäß geladen wurde.

Jetzt habe ich nur das Problem das nach dem Schließen des Formulars dieser Fehler auftaucht
Zitat:
Im Projekt ... ist eine Exeption der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei
Adresse 01391861. Lesen von Adresse 903E8739'. Prozeß wurde angehalten. Mit Einzelne Anweisunf oder Start fortsetzen
Danach läuft das ganze wieder ohne Probleme.

Wie kann ich diesen Fehler beheben.
Bitte um Hilfe, ich bin am verzeifeln.

Grüße Sebastian
  Mit Zitat antworten Zitat