![]() |
teilmenge als parameter für überladene createfunktion
hallo!
habe hier in diesem thread ( ![]()
Delphi-Quellcode:
nun ist mir schon klar, dass ich als neuen parameter den TMyMode übergeben muss, aber wie sieht ein aufruf der funktion
type
TMyModes = (mmListView,mmProgressBar,mmTotalProgress); TMyMode = set of TMyModes; end;
Delphi-Quellcode:
aus, zum Testen und wie muss ich in der Create das dann verarbeiten bzw. kann es abfragen, damit ich die richtigen aktionen setze?
Create (AOwner : TComponent; Mode : TMyMode);
könnte mir bitte jemand die aufruf bzw. case bedingung für sagen wir mmListView und mmProgressBar gemeinsam (also dass beide angezeigt werden) angeben. hab bisher noch nie was mit einem set einer enum gemacht und hab daher (leider) keine ahnung, wie der aufruf für sowas und die abfrage aussieht. also bitte wenn möglich folgende codefragmente vervollständigen
Delphi-Quellcode:
danke!
Create (self, {TMyMode hier her, aber wie?});
...... case {TMyModetyp} : begin dosomething; end; stephan. |
Re: teilmenge als parameter für überladene createfunktion
Hallo,
mir leuchtet nicht ganz ein, wieso Du die Property (soll ja eine sein, oder?) unbedingt mit Gewalt in den Konstruktor quetschen möchtest. Was spricht denn generell dagegen, sie als öffentliche Property zu deklarieren und eine Ereignismethode bei Änderung zu schreiben? |
Re: teilmenge als parameter für überladene createfunktion
Hier zur Verdeutlichung mal eine (uralte und unspektakuläre) Komponente von mir, die Ollis Flat-Style-Buttons imitiert. Da arbeite ich auch mit einem Set (TEdgetypes). Schau' s Dir einfach mal an.
![]() |
Re: teilmenge als parameter für überladene createfunktion
dieses fenster soll sich auch von jedem anderen programm aus mittels create (...) aufrufen und erstellen lassen.
d.h. ich muss ermöglichen, dass in einem anderen programm mein progress fenster mit beliebigen einstellungen aufrufbar ist. deshalb auch die überladene create, damit ichs mitgeben kann. oder wie würdest du das sonst realisieren? wie gesagt, ich bin ein newbe und versuche gerade das zu realisieren. was das fenster genau macht, steht eh im anderen thread, wenn du mir mittels code zeigen könntest, wie ich das ganze sinnvoller aber mit gleicher funktionalität realisieren kann, dann würdest du mir da sehr helfen. denn wie gesagt, ich hätte es zur not (als newbe eben) mittels 7 enums gemacht. |
Re: teilmenge als parameter für überladene createfunktion
Hi,
also erst mal würde ich den Mengentyp mit TMyModes bezeichnen und den Typ mit TmyMode. Dann den Konstruktor und die Property auf Typ TMyModes ändern, da jetz Set. Zuweisung über eckige Klammern mit allen benötigten Modetypen durch Komma getrennt.
Delphi-Quellcode:
Prüfung dann mit in-Operator.
type
TMyMode = (mmListView,mmProgressBar,mmTotalProgress); TMyModes = set of TMyModes; end var MyModes : TMyModes; MyModes := [mmListView, mmProgrssBar]; Gruß oki |
Re: teilmenge als parameter für überladene createfunktion
danke, funkt genauso, wie ich mirs gewünscht habe.
ist nur oft schwer als newbe das alles schnell und vorallem wen möglich gleich zu behirnen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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