Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Tab1.Connection = Vom User ausgewähltes DataSet.Connection (https://www.delphipraxis.net/11268-tab1-connection-%3D-vom-user-ausgewaehltes-dataset-connection.html)

Nalincah 3. Nov 2003 11:11


Tab1.Connection = Vom User ausgewähltes DataSet.Connection
 
Ich will ne neue Compo basteln. Eine neue Eigenschaft ist das DataSet. Name: FDataSet

Delphi-Quellcode:
type TCSTyp = (tAdresse, tRechnung, tLieferung);
       TCSAdressLabel = class(TCSQRRichText)
       private
         FFelder:TStringList;
         FTyp: TCSTyp;
         FLinkLabel: tcsAdressLabel;
         FDataSet: TDataSet;
         procedure MyOnPrint(sender: TObject; var Value: String);
       published
         property Felder : TStringList read FFelder write FFelder;
         property Typ     : TCSTyp read FTyp write FTyp;
         property DataSet : TDataSet read FDataSet write FDataSet;
         constructor Create(AOwner:TComponent);override;
         destructor Destroy;override;
       end;
Im MyOnPrint-Ereignis hab ich ne Variable Tab1 vom Typ TADOTable.

Jetzt will ich das die "virtuelle" Tab die gleiche Connection wie das DataSource das der User ausgewählt hat. In etwa so:

Delphi-Quellcode:
begin
  Tab1 := TAdoTable.Create(nil);
  try
    Tab1.Connection := fDataSet.Connection;
    Tab1.Active := false;
  finally
    Tab1.free;
  end;
end;
Krieg aber immer diesen Fehler:

Code:
[Fehler] ucsqcomps.pas(122): Undefinierter Bezeichner: 'Connection'

MrSpock 3. Nov 2003 12:07

Re: Tab1.Connection = Vom User ausgewähltes DataSet.Connecti
 
Hallo General2003,

das Objekt dataSet hat keine Eigenschaft "connection".

Wenn TAdoTable die Eigenschaft Connection kennt und du sicher bist, dass FDataSet vom Typ TAdoTable ist, könntest du schreiben:

Delphi-Quellcode:
Tab1.Connection := (fDataSet as TAdoTable).Connection;
oder vorher abfragen:

Delphi-Quellcode:
if fDataSet is TAdoTable then ...

Nalincah 3. Nov 2003 12:09

Re: Tab1.Connection = Vom User ausgewähltes DataSet.Connecti
 
Jo, danke. Hab das jetzt so gemacht:

Tab1.Connection := TADOTable(fDataSet).Connection;

Ist doch im Prinzip das gleiche, oder?

MrSpock 3. Nov 2003 12:14

Re: Tab1.Connection = Vom User ausgewähltes DataSet.Connecti
 
Hallo General2003,

ja, das ist das Gleiche, aber wenn fDataSet nicht vom gecasteten Typ ist knallt es im Programm :stupid: .

Nalincah 3. Nov 2003 12:18

Re: Tab1.Connection = Vom User ausgewähltes DataSet.Connecti
 
Ich weiß, aber das wird abgefangen. Das ist ein Editor und der User kann nur aus ADO-Table.Datasets wählen


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz