AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Komponente nur einmal pro Anwendung "zulassen"
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente nur einmal pro Anwendung "zulassen"

Ein Thema von Alex_ITA01 · begonnen am 4. Jan 2005 · letzter Beitrag vom 4. Jan 2005
 
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.413 Beiträge
 
Delphi 12 Athens
 
#8

Re: Komponente nur einmal pro Anwendung "zulassen"

  Alt 4. Jan 2005, 10:18
Eigentlich ganz einfach. Beiliegendes Beispiel hat allerdings einen Nachteil. Im Designmodus wird es nicht richtig funktionieren, wenn Du zwei Forms öffnest, wo die Komponente draufliegt (und diese nicht zur gleichen App gehören). Ansonsten müsste es eigentlich gehen. Der Trick besteht darin sich in einer privaten globalen Unit-Variablen zu merken, wie oft die Komponente erstellt wurde. Jedes Mal wenn diese erstellt wird, inkrementierst Du den Zähler, beim Zerstören dekrementierst Du den wieder.

Wenn der Zähler größer 1 wird, dann wirfst Du eine Exception raus. Immer im Destructor wieder dekrementieren, auch bei der Exception, da unter Win32 der auch wieder aufgerufen wird, wenn eine Exception auftritt (Resourcenfreigabe).

......
Angehängte Dateien
Dateityp: zip onetimer_821.zip (6,0 KB, 3x aufgerufen)
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  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 15:11 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