Einzelnen Beitrag anzeigen

Benutzerbild von cback
cback

Registriert seit: 3. Sep 2005
Ort: Spiesen-Elversberg
12 Beiträge
 
Delphi 6 Personal
 
#15

Re: Dynamische Fenster über Funktion ansteuern

  Alt 3. Okt 2005, 16:53
Hi,

ich habe mal etwas rumexperimentiert und eine wesentlich einfachere und bessere Methode herausgefunden. Bei den ersten uses im Hauptformular wo also Windows, Messages usw. eingebunden ist füge ich einfach den Komponentennamen noch hinzu:

, editor_miro wobei editor_miro der Name des Forms ist.

Anschließend lege ich die Objektvariable nicht nur lokal an, da wo ich vorher das Fenster geöffnet habe, sondern Superglobal, also in die var-Liste noch vor "implementation"

  EditorMOD : TEditor_MOD;
Das öffnen der Fenster bleibt identisch, nur habe ich halt keine var mehr lokal gebraucht, da diese Superglobal besteht also aus

Delphi-Quellcode:
procedure ...;
  var EditorMOD: TEditor_MOD;
begin
  EditorMOD := TEditor_MOD.Create(self);
  EditorMOD.Caption := 'CBACK MIRO - Mod Editor';
  EditorMOD.Show;
end;
wurde nun

Delphi-Quellcode:
procedure ...;
begin
  EditorMOD := TEditor_MOD.Create(self);
  EditorMOD.Caption := 'CBACK MIRO - Mod Editor';
  EditorMOD.Show;
end;


Soo und im Editorfenster die Prozedur sieht nun einfach so aus:
Delphi-Quellcode:
procedure AddAction(action:string);
begin
  EditorMOD.MiroEdit.SelText := #13#10 + '#' + #13#10 + '#-----[ ' + action + ' ]------------------------------------------'+ #13#10 + '#' + #13#10;
  EditorMOD.MiroEdit.SetFocus;
end;


So kann ich diese Prozedur nun auch nutzen wenn mehrere Fenster geöffnet werden und es wird auch im richtigen Fenster zugeordnet. Ich brauche also kein Array, keine Liste, nix. Also die einzige Änderung ist, das Objekt für die Multi-Fenster nicht lokal, sondern Superglobal anzulegen, wie beispielsweise das beim Hauptformular von Delphi gemacht wird.


  Mit Zitat antworten Zitat