Einzelnen Beitrag anzeigen

Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#1

Funktion ableiten innerhalb einer abgeleiteten ActiveX-Komp.

  Alt 4. Mai 2004, 16:35
Hi,
ich beschäftige mich jetzt zum ersten Mal richtig mit der Erstellung von Komponenten.
Und zwar habe ich ein SQL-Tool als ActiveX-Komponente vorliegen, mit dem man recht einfach ohne SQL-Kenntnisse das SQL-Statement zusammen basteln kann.
Jetzt soll diese Komponente einfach um die Eigenschaft "Text" erweitert werden, soweit kein Problem
Aber der String von FText soll gefüllt werden, wenn die Funktion SetSQLText aufgerufen wird. Text und GetSQLText sollen also immer gleich sein
SetSQLText muss also abgeleitet werden.
Ich habe das so versucht:
Delphi-Quellcode:
unit FUP_ELS_QB1;

interface

uses
  SysUtils, Classes, Controls, OleCtrls, ELS_QBLib_TLB;

type
  TFUP_ELS_QB1 = class(TELS_QB)
  protected
    { Protected-Deklarationen }
    function SetSQLText(const sSQLText: WideString): WordBool; override;
  private
    { Private-Deklarationen }
    FText: String;
  public
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
    property Text: String read FText;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('ActiveX', [TFUP_ELS_QB1]);
end;

{ TFUP_ELS_QB1 }

function TFUP_ELS_QB1.SetSQLText(const sSQLText: WideString): WordBool;
begin
  inherited SetSQLText(sSQLText);
  FText := sSQLText;
end;

end.
Doch Delphi meldet: "Eine statische Methode kann nciht überschrieben werden"
Mache ich etwas falsch?
Im Anhang habe ich noch mal die TLB von der original Komponente, die von Delphi erzeugt worden ist.
Ich hoffe ihr könnt mir helfen
PS: Die Sourcen der Komponente habe ich natürlich nicht...
Angehängte Dateien
Dateityp: pas els_qblib_tlb.pas (44,0 KB, 3x aufgerufen)
Alexander
  Mit Zitat antworten Zitat