Einzelnen Beitrag anzeigen

eulenspiegel

Registriert seit: 17. Mai 2007
Ort: Mönchengladbach
13 Beiträge
 
Turbo Delphi für Win32
 
#1

Komponentenentwicklung - Zwei DataSourcen im Objektinspector

  Alt 8. Feb 2008, 20:22
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
  Mit Zitat antworten Zitat