Hallo,
ich habe versucht, ein MySQL-Objekt, das ich seit längerem verwende, zur einfacheren Benutzung als Komponente zu registrieren. Dabei sagt der Compiler mir immer, meine Register-Procedure sei nicht korrekt.
Delphi-Quelltext
1: 2: 3: 4:
| procedure Register; begin RegisterComponents('MyComponents', [TMySQL]); end; |
als Fehler gibt er aus: [Fehler] u_mysql.pas(157): Inkompatible Typen: 'TComponentClass' und 'Class reference'
die Klasse TMySQL existiert aber:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| procedure Register;
type TMySQL = Class (tMyObj) private FMysql: TMysqlClient; FResult: TMysqlResult; fgrid: TStringGrid; fHost : String; fport : Integer; fuser : String; fpassword : String; fUnixSocket : String; fDb : String; fUseNamedPipe : boolean; fUseSSL : boolean; fCompress : boolean; fTrySockets : boolean; protected procedure abfrage(q: string); procedure intogrid(grid: TStringGrid); procedure connect; procedure disconnect; public
published Property Grid : TStringGrid read fgrid Write fgrid; Property host : String read fHost Write fHost; Property port : Integer read fport Write fport; Property user : String read fuser Write fuser; Property password : String read fpassword Write fpassword; Property unixsocket : String read funixsocket Write fUnixSocket; Property db : String read fdb Write fDb; Property usenamedpipe: Boolean read fUseNamedPipe Write fUseNamedPipe; Property usessl : Boolean read fUseSSL Write fUseSSL; Property compress : Boolean read fCompress Write fCompress; Property trysockets : Boolean read fTrySockets Write fTrySockets;
end; |
tMyObj ist ein von mir erweitertes TObject.
Woran kann das jetzt liegen? Ich habe früher schon einmal ein Stringgrid erweitert und als Komponente registriert, da lief alles, wie es sollte...
Gruß
Stex
Moderiert von
raziel: Delphi-Tags hinzugefügt