Tutorial Komponentenentwicklung/Eigene Dialoge: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Gehoert zum Tutorial Komponentenentwicklung)
 
K (Der Ausdruck ''<pascal>(.*?)</pascal>'' wurde ersetzt mit ''<source lang="pascal">$1</source>''.)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
 
Dieser Artikel gehört zum [[Tutorial Komponentenentwicklung]]
 
Dieser Artikel gehört zum [[Tutorial Komponentenentwicklung]]
---
+
----
  
 
Um einen eigenen Dialog anzeigen zu können, erstellt man zuerst ein entsprechendes Formular. Der Formularklasse gibt man dann, um eine Datenübergabe einfacher zu machen, die Eigenschafts-Klasse als Eigenschaft.
 
Um einen eigenen Dialog anzeigen zu können, erstellt man zuerst ein entsprechendes Formular. Der Formularklasse gibt man dann, um eine Datenübergabe einfacher zu machen, die Eigenschafts-Klasse als Eigenschaft.
<pascal>
+
<source lang="pascal">
 
TPFDEditorDlg = class(TForm)
 
TPFDEditorDlg = class(TForm)
 
{...}
 
{...}
Zeile 9: Zeile 9:
 
   Data:TpfdObject;// Die Eigenschafts-Klasse
 
   Data:TpfdObject;// Die Eigenschafts-Klasse
 
end;
 
end;
</pascal>
+
</source>
 
In der überschiebenen Edit-Prozedur des Eigenschafteditors erstellt man dann einfach eine Instanz der Form. Dieser übergibt man nun den Eigenschaftswert und zeigt sie mit ShowModal an.
 
In der überschiebenen Edit-Prozedur des Eigenschafteditors erstellt man dann einfach eine Instanz der Form. Dieser übergibt man nun den Eigenschaftswert und zeigt sie mit ShowModal an.
  
 
{{Hinweis|Falls man zur Datenübergabe keine Zeiger (wie zum Beispiel Klassen) verwendet hat, muss man danach noch die neuen Eigenschaftswerte des Formulars übernehmen.}}
 
{{Hinweis|Falls man zur Datenübergabe keine Zeiger (wie zum Beispiel Klassen) verwendet hat, muss man danach noch die neuen Eigenschaftswerte des Formulars übernehmen.}}
  
<pascal>
+
 
 +
<source lang="pascal">
 
procedure TpfdProperty.Edit;
 
procedure TpfdProperty.Edit;
 
var
 
var
Zeile 30: Zeile 31:
 
   end;
 
   end;
 
end;
 
end;
</pascal>
+
</source>

Aktuelle Version vom 10. März 2009, 20:12 Uhr

Dieser Artikel gehört zum Tutorial Komponentenentwicklung


Um einen eigenen Dialog anzeigen zu können, erstellt man zuerst ein entsprechendes Formular. Der Formularklasse gibt man dann, um eine Datenübergabe einfacher zu machen, die Eigenschafts-Klasse als Eigenschaft.

TPFDEditorDlg = class(TForm)
{...}
public
  Data:TpfdObject;// Die Eigenschafts-Klasse
end;

In der überschiebenen Edit-Prozedur des Eigenschafteditors erstellt man dann einfach eine Instanz der Form. Dieser übergibt man nun den Eigenschaftswert und zeigt sie mit ShowModal an.

Info DGL.png Falls man zur Datenübergabe keine Zeiger (wie zum Beispiel Klassen) verwendet hat, muss man danach noch die neuen Eigenschaftswerte des Formulars übernehmen.


procedure TpfdProperty.Edit;
var
  pfdEditor: TpfdEditorDlg;//Ein Formular; Nachfahr von TForm
begin
  PfdEditor := TpfdEditorDlg.Create(Application);
  try
    // GetOrdValue liefert den Zeiger auf unsere Klassen Instanz zurück
    // Dieser, und somit die volle Kontrolle darüber werden an die Form übergeben
    pfdEditor.Data :=TpfdObject(GetOrdValue);
    //Form anzeigen und auf dessen Schließung warten.
    pfdEditor.ShowModal;
  finally
    pfdEditor.Free;
  end;
end;