AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE nicht visuellen Komponenten auf den Forms
Thema durchsuchen
Ansicht
Themen-Optionen

nicht visuellen Komponenten auf den Forms

Ein Thema von Kostas · begonnen am 16. Mai 2022 · letzter Beitrag vom 19. Mai 2022
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#6

AW: nicht visuellen Komponenten auf den Forms

  Alt 16. Mai 2022, 12:42
Nja, wir haben eh fast alle Komponenten nochmal bgeleitet, auch Edits (TEdit, bzw. TdxEdit), oder die DevExpressGrids.
Einmal um eigenen Funktionen hinzuzufügen, bzw. um so Komponenten-Bugfixes/Erweiterungen auf allen gefühlt 2 Millionen Forms verteilen zu können.
Delphi-Quellcode:
type
  TMyQuery = class(TDataSource)
  private
    FQuery: TPgQuery;
    function GetActive: Boolean;
    procedure SetActive(Value: Boolean);
    function GetSQL: TStrings;
    procedure AssignSQL(Value: TStrings);
  public
    constructor Create(AOwner: TComponent); override;
  published
    property Active: Boolean read GetActive write SetActive default False;
    property SQL: TStrings read GetSQL write AssignSQL;
  end;

procedure Register;
begin
  RegisterComponents(IrgendeinName, [TMyQuery]);
end;

constructor TMyQuery.Create(AOwner: TComponent);
begin
  inherited;
  FQuery := TPgQuery.Create(Self);
  FQuery.Name := 'PgQuery'; // bei uns über .SetName auf Self.Name+'_Query' gesetzt ... noch schöner für's Debugging
end;

function TMyQuery.GetActive: Boolean;
begin
  Result := FQuery.Active;
end;

procedure TMyQuery.SetActive(Value: Boolean);
begin
  FQuery.Active := Value;
end;

function TMyQuery.GetSQL: TStrings;
begin
  Result := FQuery.SQL;
end;

procedure TMyQuery.AssignSQL(Value: TStrings);
begin
  // nicht FQuery.SQL := Value; (wird wollen ja nur den Inhalt ändern)
  FQuery.SQL.Assign(Value);
end;
Und dann eben noch um eine Collection erweitert, wo TMyQuery als Subkomponenten für MasterDetail rein kommen, sowie StandardSQL (Komponente hat nur den SQLNamen und holt sich den SQL.Text aus einer Tabelle), oder die Field.DisplayText und Formatierungen kommen im AfterOpen aus einer FieldAlias-Tabelle uvm.


Einige der Haupttabellen sind direkt als eigene TMyQuery-Nachfahren erstellt, wo SQL und SubQueries vordefiniert sind.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


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 18:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz