![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: Dataset
CalcFields von Dataset funktioniert nicht
Hallo,
ich benutze in einigen Datasets die Eigenschaft OnCalcFields. Bis jetzt hat es gut funktioniert. In einem neuem Modul greife ich ebenfalls mit einem Dataset auf eine Tabelle. Im Dataset (wie üblich) habe ich ein berechnetes Feld 'NUMMER :Integer' erstellt und in der Eigenschaft CalcFields von diesem Dataset ebenfalls
Delphi-Quellcode:
eingefügt. Dieses Feld zeige ich in einem DBGrid an. Aber es funktioniert nicht. Habe jetzt alle Datasets miteinander vergliechen, aber keinen Unterschied gefunden. Hat Jemand eine Idee woran es liegen kann?
procedure TDataModule8.IBDataSetAuswaertungCalcFields(DataSet: TDataSet);
begin with IBDataSetAuswaertung do Begin FieldValues['NUMMER'] := RecNo; end; end; Danke, Luckner |
AW: CalcFields von Dataset funktioniert nicht
Erstmal was zur Fehlervermeidung:
Rate mal, warum diese Methode einen Parameter besitzt. :stupid: Haltepunkt in die Event-Methode: Wird sie auch aufgerufen? Das Event hängt auch wirklich an OnCalcFields dran? |
AW: CalcFields von Dataset funktioniert nicht
Hallo himitsu,
kapier nicht so ganz, was Du meinst. Luckner |
AW: CalcFields von Dataset funktioniert nicht
Zitat:
Er meinte zudem noch, dass du in der Methode
Delphi-Quellcode:
schon frei Haus die entsprechende Referenz auf das DataSet erhältst und fragt sich, warum du diese Referenz nicht benutzt?
procedure TDataModule8.IBDataSetAuswaertungCalcFields( DataSet: TDataSet );
Delphi-Quellcode:
procedure TDataModule8.IBDataSetAuswaertungCalcFields(DataSet: TDataSet);
begin DataSet.FieldValues['NUMMER'] := DataSet.RecNo; end; |
AW: CalcFields von Dataset funktioniert nicht
Und das heißt letzten Endes:
Delphi-Quellcode:
Und hier mal einen Haltepunkt setzen und schauen, ob das Ereignis überhaupt ausgelöst wird, d.h. das Programm im Debugger auch anhält.
procedure TDataModule8.IBDataSetAuswaertungCalcFields(DataSet: TDataSet);
begin DataSet{Das ist der Parameter}.FieldValues['NUMMER'] := DataSet{Das ist auch der Parameter}.RecNo; end; |
AW: CalcFields von Dataset funktioniert nicht
Hallo sir Rufo,
Zitat:
Zitat:
Luckner. |
AW: CalcFields von Dataset funktioniert nicht
Es steht doch jetzt schon 2 Mal da oben, wie und wo :)
|
AW: CalcFields von Dataset funktioniert nicht
Zitat:
|
AW: CalcFields von Dataset funktioniert nicht
Habe ich jetzt umgeschrieben.
Delphi-Quellcode:
Kein Erfolg. Komisch, als ob diese Prozedur hier nicht angestossen wird. Bei den Anderen funktioniert es. Irgendwie sehe ich vor lauter Wald, die Bäume nicht.:?
procedure TDataModule8.IBDataSetAuswaertungGridCalcFields(DataSet: TDataSet);
begin IBDataSetAuswaertungGrid.FieldValues['NUMMER'] := IBDataSetAuswaertungGrid.RecNo; end; |
AW: CalcFields von Dataset funktioniert nicht
Zitat:
Bzw.
Delphi-Quellcode:
würde eventuell auch funktionieren, aber dennoch macht man sowas "besser" nicht.
with DataModule8.IBDataSetAuswaertung do
Bezüglich Debugger wurde ja schon so Einiges genannt. Besser sich damit mal auseinanderzusetzen, denn du kannst da schneller und vorallem besser/leichter nach Problemen suchen, als wir, die wir nur einen Bruchteil deines Codes kennen. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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