Moin Forum,
ich möchte eine Funktion, die mir mit der gleichen Syntax wie bei TTable Werte zurückliefern kann:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| function TMeineKlasse.FieldByName(const FieldName: WideString): TField; begin MyField.SetFieldType(ftString); MyField.AsString := 'Hallo'; Result := MyField; end; |
Die Klasse:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| Type TMeineKlasse= class(TPanel) private MyField :TField; protected public function FieldByName(const FieldName: WideString): TField; published end;
constructor TMeineKlasse.Create(AOwner: TComponent); begin inherited Create(AOwner); MyField := TField.Create(Self); end;
destructor TMeineKlasse.Destroy; begin MyField.Free; inherited Destroy; end; |
Aber wenn ich die Funktion aufrufe bekomme ich immer eine Fehlermeldung:
EDataBaseError, "Feld" kann nicht als Typ String angesprochen werden.
Was mache ich denn falsch?
Funktioniert das denn nur in Verbindung mit einer Datenmenge, also einer Tabelle?
Windows XP: Für die einen nur ein Betriebssystem - für die anderen der längste Virus der Welt...