Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#6

Re: DefaultHandler beendet nicht

  Alt 3. Jan 2008, 19:59
ja war ein großer Fehler habe es korrigiert .. Dake

SetWindowLong(ews^.me, GWL_WNDPROC, LongInt(MainWindowProc)); Die DLL beendet jetzt allerdings nur wenn ich die Konfig vorher nicht aufgerufen habe welche eine
neue Form im Projekt darstellt.

Ist mir unverständlich warum das schließen dieser mit einer AV quittiert wird.

Delphi-Quellcode:
procedure Module1_Config(This_mod: PWinAMPVisModule); cdecl;
begin

  if (not ConfigVisible) then
  begin
    Form1 := TForm1.Create(nil);
    try
      begin
        ConfigVisible := True;
        if assigned(VisForm) then
           VisForm.Timer1.Enabled:=false;

        Form1.ShowModal;
      end;
    finally
      begin
        Form1.Free;
        ConfigVisible := False;
      end;
    end;
  end;
end;
Diese wird Modal aufgerufen und wenn geschlossen wieder frei gegeben.

Solange wie ich diese nicht aufrufe funktioniert alles
wird sie aufgerufen und die DLL beenden
Delphi-Quellcode:
procedure Module1_Quit(This_Mod: PWinAMPVisModule);
begin

  SetWindowLong(ews^.me, GWL_WNDPROC, integer(MainWindowProc));

  VisForm.Timer1.Enabled := False;
  VisForm.Close;
  VisForm.Free;

  Form1.free; <---

  if waver >= $2901 then
  begin
    SendMessage(this_mod^.hWNDParent, WM_WA_IPC, 0, IPC_SETVISWND);
    DestroyWindow(ews^.me);
    GlobalFree(HGLOBAL(ews));
  end;

end;
gibt es den AV

gruss Emil
  Mit Zitat antworten Zitat