![]() |
Re: Klassen Methoden
Ähm. :oops: Also ich muss mir das noch etwas genauer ankucken, nachvollziehen und verinnerlichen. Mal sehen, ich melde mich dann wieder. ;)
|
Re: Klassen Methoden
Zitat:
und wie wärs mit diesem Beispiel ? das create fehlt :-) wichtige Einschränkung natürlich, dass auf keine Felder einer Instanz (eines Objectes) zugegriffen werden darf in der Klassenmethode. DA natürlich das object noch nicht createt ist.
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin caption := Tedit.Classname; end; viele Grüße stoxx |
Re: Klassen Methoden
So, Bernd. Ich habe deinen Cod emal in ein funktionierendes Beispiel umgesetzt:
Delphi-Quellcode:
Form2 besteht nur aus einem Edit zur Eingabe und zwei Buttons, die entweder mrOK oder mrCancel setzen.
type
TSomeData = record FData: String[255]; end; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public Data: TSomeData; class function GetData (out Data : TSomeData): Boolean; { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} uses Unit2; class function TForm1.GetData(out Data: TSomeData): Boolean; begin with TForm2.Create(nil) do begin Result := ShowModal = mrOK; Data.FData := Edit1.Text; Form1.Label2.Caption := Data.FData; end; end; procedure TForm1.Button1Click(Sender: TObject); begin GetData(Data); end; |
Re: Klassen Methoden
Zitat:
ähm, Luckie, welchen Sinn hat das jetzt *g* ?? :gruebel: |
Re: Klassen Methoden
Zitat:
|
Re: Klassen Methoden
Zitat:
|
Re: Klassen Methoden
Habe ich auch gerade gemerkt, dass das nicht viel Sinn macht. Ich probiere es mal anders rum.
Äh, nee wie jetzt? Wie kommt denn Form1 an die Daten ran, die ich in Form2 eingebe? |
Re: Klassen Methoden
Der Sinn ist doch ganz einfach zu erschließen.
GetData ist zwar eine autonome Funktion, ohne Aufrufe anderer Funktionen und ohne Benutzung globaler Variablen, aber sie macht doch nur Sinn, wenn sie im Zusammenhang mit TForm2 aufgerufen wird. Durch die Klassenmethode ist GetData an TForm2 gebunden, TForm2 dient hier u.a als eine Art Container. |
Re: Klassen Methoden
@Luckie : Bin ja gespannt was Du in Deinem Tutorial zum Thema Abstraktion sagst :(
Ich prökel Dir mal ein Beispiel zusammen ... kommt dann gleich |
Re: Klassen Methoden
Eine Beta Version kannst du dir schon hier ankucken:
![]() Aber der :( Smily läßt mich jetzt doch etwas zweifeln. :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz