Einzelnen Beitrag anzeigen

Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#1

Komponente mit TStrings Property erstellen

  Alt 9. Sep 2006, 09:59
Hallo,

wie der Titel schon aussagt, habe ich ein kleines Problem beim Erstellen einer Komponente, welche ein TStrings Objekt als Property im OI anbieten soll.

Ich habe mich beim Erstellen, an diverse Tutorials gehalten (zumindest versucht) aber jedesmal, wenn ich die Komponente dann auf ein Formular ziehe, der Property SQL (das ist die TStrings Property) einen String zuweise und das ganze dann noch ein zweites mal versuche, bekomme ich Zugriffsverletzungen, so, dass nur noch das Beenden von Delphi hilft.

Ich verwende Delphi 7 Professional.

Delphi-Quellcode:
unit GSQuery;

interface

uses
  SysUtils, Classes;

type
  TGSQuery = class(TComponent)
  private
    FSQL: TStringList;
    procedure setSQL(const Value: TStringList);
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    constructor Create(aOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published-Deklarationen }
    property SQL: TStringList read FSQL write setSQL;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('GS', [TGSQuery]);
end;

{ TGSQuery }

constructor TGSQuery.Create(aOwner: TComponent);
begin
  inherited;
  FSQL := TStringList.Create;
end;

destructor TGSQuery.Destroy;
begin
  FSQL.Free;
  inherited;
end;

procedure TGSQuery.setSQL(const Value: TStringList);
begin
  FSQL := Value;
end;

end.
Was mache ich da nur falsch?
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat