AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE IF Assigned(EventMethode) zur DesignTime
Thema durchsuchen
Ansicht
Themen-Optionen

IF Assigned(EventMethode) zur DesignTime

Ein Thema von himitsu · begonnen am 6. Nov 2017 · letzter Beitrag vom 6. Nov 2017
 
Benutzerbild von himitsu
himitsu

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

IF Assigned(EventMethode) zur DesignTime

  Alt 6. Nov 2017, 13:48
Ich habe da ein winziges Problemchen,
Assigned liefert falsche Werte, also False obwohl es True sein müsste.

Minimalbeispiel:
Delphi-Quellcode:
type
  TMyComp = class(TComponent)
  private
    FTest: TNotifyEvent;
    function TestStored: Boolean;
  published
    property TestProp: TNotifyEvent read FTest write FTest stored TestStored;
  end;

function TMyComp.TestStored: Boolean;
begin
  Result := Assigned(TestProp);
end;
Wie kann ich zur DesignTime feststellen, ob irgendwas zugewiesen ist, wenn Assigned nicht hilft? (in einem Setter/Getter/StoredProc)

Wenn ich hier einen Setter an dem Property habe und da im ObjektInspector ein Event zuweise, dann wird der Setter auch aufgerufen.



Auch eine Prüfung ob ein bestimmtes Event zugewiesen ist (im Contructor zugewiesen und im OI überschreibbar) funktioniert da nicht.
Delphi-Quellcode:
function TMyConnection.BeforeConnectStored: Boolean;
begin
  Result := Assigned(BeforeConnect) and (TMethod(BeforeConnect).Code <> @TMyConnection.DoBeforeConnect);
end;

constructor TMyConnection.Create(Owner: TComponent);
begin
  inherited;
  BeforeConnect := DoBeforeConnect;
end;
Und nein, ich muß mich leider so an die Events hängen, da die Komponenten keine Möglichkeit einer überschreibbaren virtuellen Methode bietet.
(TPgConnection, aber der Schrott fängt schon bei DB Access von Devart an)
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 09:18 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