AGB  ·  Datenschutz  ·  Impressum  







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

Klassen Methoden

Ein Thema von Luckie · begonnen am 6. Feb 2004 · letzter Beitrag vom 7. Feb 2004
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#21

Re: Klassen Methoden

  Alt 7. Feb 2004, 14:13
Ähm. Also ich muss mir das noch etwas genauer ankucken, nachvollziehen und verinnerlichen. Mal sehen, ich melde mich dann wieder.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#22

Re: Klassen Methoden

  Alt 7. Feb 2004, 14:19
Zitat von Luckie:
Diskutiert das ruhig noch etwas weiter. Ich lese fleißig mit, in der Hoffnung, dass es irgendwan nmal klick macht.

Danke aber schon mal allen für ihre hilfreichen Ausführungen.


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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#23

Re: Klassen Methoden

  Alt 7. Feb 2004, 14:30
So, Bernd. Ich habe deinen Cod emal in ein funktionierendes Beispiel umgesetzt:
Delphi-Quellcode:
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;
Form2 besteht nur aus einem Edit zur Eingabe und zwei Buttons, die entweder mrOK oder mrCancel setzen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#24

Re: Klassen Methoden

  Alt 7. Feb 2004, 14:36
Zitat von Luckie:
So, Bernd. Ich habe deinen Cod emal in ein funktionierendes Beispiel umgesetzt:

ähm, Luckie, welchen Sinn hat das jetzt *g* ??
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#25

Re: Klassen Methoden

  Alt 7. Feb 2004, 14:39
Zitat von stoxx:
ähm, Luckie, welchen Sinn hat das jetzt *g* ??
Genau das ist wohl der Knackpunkt, wenn ich den habe, dann bin ich schon mal einen großen Schritt weiter.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#26

Re: Klassen Methoden

  Alt 7. Feb 2004, 14:49
Zitat von Luckie:
So, Bernd. Ich habe deinen Cod emal in ein funktionierendes Beispiel umgesetzt
Eigentlich verfehlt Dein Beispiel den eigentlichen Sinn. Wozu hat TForm1 eine Klassenmethode? TForm2 sollte die Klassenmethode implementieren, damit TForm1 _nicht_ wissen muss, wie die Daten geholt werden und damit TForm1 _keine_ Instanz von TForm2 erzeugen muss um das gewünschte Result zu erhalten.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#27

Re: Klassen Methoden

  Alt 7. Feb 2004, 14:51
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?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#28

Re: Klassen Methoden

  Alt 7. Feb 2004, 14:54
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.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Bernd Ua

Registriert seit: 10. Nov 2003
Ort: Lindhorst
87 Beiträge
 
Delphi 11 Alexandria
 
#29

Re: Klassen Methoden

  Alt 7. Feb 2004, 14:56
@Luckie : Bin ja gespannt was Du in Deinem Tutorial zum Thema Abstraktion sagst
Ich prökel Dir mal ein Beispiel zusammen ... kommt dann gleich
Bernd Ua
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#30

Re: Klassen Methoden

  Alt 7. Feb 2004, 14:59
Eine Beta Version kannst du dir schon hier ankucken: http://www.luckie-online.de/files/beta-area/

Aber der Smily läßt mich jetzt doch etwas zweifeln.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 16:40 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