Hallo zusammen,
hoffentlich bin ich in diesem Forum richtig.
Ich habe eine Komponente geschrieben, in der zwei Datenbankfelder aus zwei TDataSources benötigt werden. Die Komponente funktioniert zur Laufzeit fehlerfrei, lediglich im Objektinspektor verwendet die Feldauswahl für das zweite DataField nicht die vorgesehene DataSource zum füllen der Feldliste, sondern es wird die Feldliste der ersten DataSource herangezogen. Trägt man den Feldnamen von Hand ein, funktioniert die Komponente zur Laufzeit wie erwartet.
Hier die Klassendefinition:
Delphi-Quellcode:
Type
TCustomDBLookupLabel = Class( TCustomLabel )
Protected
Property DataSource: TDataSource Read GetDataSource Write SetDataSource;
Property DataFieldName: WideString Read FDataFieldName Write SetDataFieldName;
...
End;
TDBUnitLookupLabel = Class( TCustomDBLookupLabel )
...
Published
Property DataSource;
Property DataFieldName;
Property QuantityFieldName: WideString Read FQuantityFieldName Write SetQuantityFieldName;
Property QuantityDataSource: TDataSource Read GetQuantityDataSource Write SetQuantityDataSource;
...
End;
Noch mal im Klartext:
Die Feldauswahl von QuantityFieldName zeigt immer die Felder von DataSource an, unabhängig von der Einstellung in QuantityDataSource. Zur Laufzeit funktioniert die Komponente Problemlos.
Kennt jemand dieses Problem und hat eine Lösung dafür?
Grüße, till