Autor Beitrag
Stex
Hält's aus hier
Beiträge: 12

Win XP
Delphi 7 Prof.
BeitragVerfasst: Mo 30.10.06 18:30 
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.

ausblenden 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:

ausblenden volle Höhe Delphi-Quelltext
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// Datenbank auf dem Server
  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 user profile iconraziel: Delphi-Tags hinzugefügt
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mo 30.10.06 18:38 
Komponenten müssen von TComponent abgeleitet sein.

Stefan

_________________
Ein Computer ohne Windows ist wie eine Schokoladentorte ohne Senf.
Stex Threadstarter
Hält's aus hier
Beiträge: 12

Win XP
Delphi 7 Prof.
BeitragVerfasst: Mo 30.10.06 18:46 
oh man, wenn ich lesen könnte, was ich damals geschrieben habe, wäre das viel einfacher gewesen *g*

danke! Ich habe einfach diese Zeile in der alten Komponente überlesen

Gruß
Stefan