AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit neuer Komponente

Ein Thema von barnti · begonnen am 27. Jul 2004 · letzter Beitrag vom 27. Jul 2004
Antwort Antwort
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Probleme mit neuer Komponente

  Alt 27. Jul 2004, 09:33
Hallo,
ich möchte die folgende Komponente erstellen:
Delphi-Quellcode:
unit akQuery;

interface

uses
  SysUtils, Classes, DB, mySQLDbTables;

type
  akQuery = class(TmySQLQuery)
  private
    { Private declarations }
  protected
    { Protected declarations }
  public
    { Public declarations }
    constructor Create(AOwner: TComponent; Database: TmySQLDatabase);
  published
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Samples', [akQuery]);
end;

{ akQuery }

constructor akQuery.Create(AOwner: TComponent; Database: TmySQLDatabase);
begin
  inherited Create(AOwner);
  self.Database:= Database;
end;

end.
Leider taucht ein nicht genauer spezifizierter Fehler auf.
Kann jemand helfen?
Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

Re: Probleme mit neuer Komponente

  Alt 27. Jul 2004, 09:38
Konstruktoren von Komponenten müssen einen festen Aufbau haben. Wenn Du einen im Code nutzen willst, dann kannst Du eine 2. Variante anbeiten:

Delphi-Quellcode:
unit akQuery;

interface

uses
  SysUtils, Classes, DB, mySQLDbTables;

type
  akQuery = class(TmySQLQuery)
  private
    { Private declarations }
  protected
    { Protected declarations }
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override; // oder komplett weglassen
    constructor CreateDb(AOwner: TComponent; Database: TmySQLDatabase);
  published
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Samples', [akQuery]);
end;

{ akQuery }

constructor akQuery.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
end;

constructor akQuery.CreateDb(AOwner: TComponent; Database: TmySQLDatabase);
begin
  Create(AOwner);
  self.Database:= Database;
end;

end.
......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Probleme mit neuer Komponente

  Alt 27. Jul 2004, 09:44
Hallo Sakura,

leider immer noch nicht. Beim Einbinden der Unit kommt diese Fehlermeldung:
[Fatal Error] Unit1.pas(7): Could not compile used unit 'akQuery.pas'
Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4

Re: Probleme mit neuer Komponente

  Alt 27. Jul 2004, 09:45
Erstelle mal ein neues Projekt und füge die Unit (SHIFT+F11) hinzu. Dann solltest Du eine genauere Fehlermeldung erhalten.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Probleme mit neuer Komponente

  Alt 27. Jul 2004, 09:54
Hallo Sakura,

akQuery = class(TmySQLQuery) // [Error] akQuery.pas(9): Identifier redeclared: 'akQuery' Habe ich geändert. Danke Dir. Jetzt scheints zu klappen!
Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#6

Re: Probleme mit neuer Komponente

  Alt 27. Jul 2004, 09:55
*g* Ja, Du hattest den Namen der Klasse, gleich dem der Query. Btw, alle Klassennamen in Delphi sollten mit einem T beginnen - ist einfach gängig und Teil der unverbindlichen und doch oft verbindlichen Code-Style-Guidelines

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 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