AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Funktion ableiten innerhalb einer abgeleiteten ActiveX-Komp.
Thema durchsuchen
Ansicht
Themen-Optionen

Funktion ableiten innerhalb einer abgeleiteten ActiveX-Komp.

Ein Thema von Alexander · begonnen am 4. Mai 2004 · letzter Beitrag vom 4. Mai 2004
Antwort Antwort
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
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Funktion ableiten innerhalb einer abgeleiteten ActiveX-K

  Alt 4. Mai 2004, 16:47
ich tippe mal die Statiche Methode ist
Code:
function SetSQLText(const sSQLText: WideString): WordBool; override;
Du könntest das Problem lösen in dem du im Orginalquelltext die Methode so änderst das sie nicht mehr statich ist. Wäre es nicht in SetSQLText die Variable setzt sondern eine eine Setmethode für Text schreibst welche dann SetSQLText aufruft
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Alexander

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

Re: Funktion ableiten innerhalb einer abgeleiteten ActiveX-K

  Alt 4. Mai 2004, 16:51
Jupp. Es handelt sich um die Funktion.
Das Problem ist mir liegen die Sourcen nicht vor, ich werde sie wohl auch nicht bekommen, da es sich um eine kommerzielle Komponente handelt.
Und in der TLB, die von Delphi erzeugt wurde, bringt es ja nichts.
Ich kann eigentlich nur was in meiner abgeleiteten Version ändern.
Oder habe ich dich missstanden?

Edit: Achso ja das mit der SetMethode könnte man machen.
Doch würde es mich interessieren, ob und wenn ja wie man das doch mit dem Ableiten hinbekommen könnte?
Alexander
  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 17:15 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