AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dialog aus Delphi DLL verschachtelt aufrufen

Ein Thema von HPW · begonnen am 25. Nov 2013 · letzter Beitrag vom 25. Nov 2013
 
HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#1

Dialog aus Delphi DLL verschachtelt aufrufen

  Alt 25. Nov 2013, 19:55
Delphi-Version: 7
Hallo,

Ich habe eine Funktion in einer delphi DLL in der ich einen Property-Dialog aufrufe:

Delphi-Quellcode:
FUNCTION nbEditAction( IDNum : INTEGER;
  VAR Params : ARRAY OF PChar ) : BOOLEAN;
VAR
      resultstr : String ;
BEGIN
  Result := FALSE;
  nbEditCount := nbEditCount+1;
  CASE IDNum OF
    1 : BEGIN
          { Anzeigen der Form... }
          EditForm2 := TEditForm2.CreateParented( GetActiveWindow );
          TRY
            EditForm2.Caption := CmdParaName[1]+' Properties';
            EditForm2.Edit1.Text := Params[0];
            ...
            ...
            IF EditForm2.ShowModal = mrOK THEN
              BEGIN
                SetStr( Params[0], EditForm2.Edit1.Text );
                ...
                ...
                Result := TRUE;
              END;
          FINALLY
            EditForm2.Free;
          END;
        END;
  END;
  nbEditCount := nbEditCount-1;
END;
Nun kann es vorkommen das der Dialog bei schon geöffnetem ersten Dialog ein zweites Mal aufgerufen wird.
Das funktioniert nun nicht, da EditForm2 vom zweiten Dialog überschrieben wird und ich dann beim Schliessen des ersten Dialog eine Access Violation bekomme. Mit nbEditCount erkenne ich zwar das ein Dialog erneut aufgerufen wird und könnte das mit einer Fehlermeldung verhindern. Aber wenn ich das zulassen möchte, wie bekomme ich das hin, das auch der erste Dialog noch funktioniert.

Grüsse,

Hans-Peter
Hans-Peter
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz