![]() |
CalcFields
Hallo zusammen,
ich habe noch nie mit CalcFields gearbeitet und komme da irgendwie nicht weiter. Ich habe folgende Problemstellung: 1. Es sollen zur Laufzeit CalcFields erzeugt werden. 2. Für die CalcFields existiert keine Repräsentation in der Datenbank, d.h. die Felder sollen nur im TDataset-Objekt vorhanden sein, nicht aber in der Datenbank gespeichert werden. Wie kann ich CalcFields zur Laufzeit erzeugen? Dieser Code funktioniert leider nicht:
Code:
Mit fkCalculated wird das Feld nicht angefügt und mit fkInternalCalc laufe ich auf den Fehler, dass "Test" nicht gefunden wurde. Was mache ich hier grundsätzlich falsch?
Field := TStringField.Create(nil);
Field.FieldKind := fkInternalCalc; // oder auch fkCalculated Field.FieldName := 'TEST'; Field.Size := 255; Field.DataSet := MeinDataset; Danke für jeden Hinweis. |
Re: CalcFields
Hallo,
schon mal probiert dein Feld so zu erzeugen:
Delphi-Quellcode:
Gruß,
Field := TStringField.Create (MeinDataset) ;
Tom |
Re: CalcFields
Na ja - der Owner hat nicht viel mit dem Dataset zu tun, sondern bestimmt doch i.d.R. nur, wer für die Speicherverwaltung (und damit die anschließened Zerstörung des Objekts) verantwortlich ist.
Trotzdem danke - aber das Problem war, dass, sobald ein TField zur Laufzeit erzeugt wird, das Dataset auch nur dieses eine Feld kennt. Also müssen zusätzlich alle Felder aus dem FieldDefs als TFields erzeugt werden - dann klappt's auch. |
Re: CalcFields
Zitat:
Tom |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:06 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 by Thomas Breitkreuz