🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #346324

Re: Element Kolekcji i plik

#346324
From: J-23
Date: Sun, 11 Feb 2018 22:17
56 lines
3570 bytes
W dniu 11.02.2018 o 10:21, Krzysztof Szyszka pisze:
> [...]
> 
> Podałeś deklaracje dla całej kolekcji, której używasz w klasie 
> TCustomPrinterRBM, ale nie podałeś
> żadnego jej związku z klasą TRaportOpenDialogEditor, która sądząc tylko 
> po nazwie jest edytorem
> (używanym tylko w design-time) do komponentu TReportOpenDialog.
> 
> Metoda TRaportOpenDialogEditor.Edit służy do wywołania domyślnej akcji 
> na komponencie, więc
> powinna pokazać jakieś okienko, które tą akcje wykonuje (np. dla 
> TOpenDialog jest to wywołanie
> akcji "Test Dialog", która pozwala na wybranie nazwy pliku). Ale to musi 
> być akcja, która dotyczy
> tego komponentu, dla którego został podłączony ten edytor w design-time, 
> czyli u Ciebie to będzie
> domyślnie akcja na komponencie TRaportOpenDialog.
> 
> Jeśli chcesz wykonywać coś na komponencie TCustomPrinterRBM, to musisz 
> mieć do niego jakieś
> połączenie z klasy TRaportOpenDialogEditor, np. property PrinterRBM: 
> TCustomPrinterRBM,
> które musi być ustawione przed wykonaniem double click na komponencie 
> TRaportOpenDialog.
> 
> Równie dobrze możesz utworzyć własny edytor dla komponentu 
> TCustomPrinterRBM, dla którego
> jedna z akcji (prawy klik na komponencie i wybór z listy) będzie 
> wykonywać to samo bez dodatkowego
> komponentu TRaportOpenDialog.
> 
> W obu przypadkach edytory uruchamiane w design-time dostarczą Ci jedynie 
> jakieś dane dla
> komponentu, ale ich zapamiętanie w pliku dfm (i potem ładowanie z dfm) 
> należy już do zadań
> tego komponentu. P.S. Sprawdź, czy nie wystarczy zadeklarować zawartości 
> pliku jako TStream.
> 

Ogólnie podsumowując to co napisałeś to było mi wiadome. Nie potrafiłem 
sobie tylko uzmysłowić jak użyć DefineBinaryProperty a to dlatego że 
klasa edytora nie dziedziczy po TPersistent i przeczyłem fakt ze 
TCollectionItem dziedziczy właśnie po TPersistent gdy po raz n-ty 
przeglądałem klasę TCollectionItem wpadłem właśnie na to że jest ona 
potomkiem TPersistent i już sprawa była dla mnie jasna i klarowana jak 
to działa - teraz tylko muszę uporządkować kod i napisać to tak by 
osiągnąć to co chce.

Dzięki za zainteresowanie

PS. jak się uporam z tematem i będzie chwila wolna to umieszcze jakiś 
prosty przykład realizujący to co chciałem osiągnąć tak by było dla 
potomnych.

Pozdrawiam
Technical Details
Message-ID: <5a80c0f8$0$575$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer03.am4!peer.am4.highwinds-media.com!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <5a7f3134$0$576$65785112@news.neostrada.pl> <p5p1ur$vjr$1@node2.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer03.am4!peer.am4.highwinds-media.com!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: Element Kolekcji i plik
Newsgroups: pl.comp.lang.delphi
References: <5a7f3134$0$576$65785112@news.neostrada.pl> <p5p1ur$vjr$1@node2.news.atman.pl>
From: J-23 <Baczeklu@poczta.fm>
Date: Sun, 11 Feb 2018 23:17:27 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
MIME-Version: 1.0
In-Reply-To: <p5p1ur$vjr$1@node2.news.atman.pl>
Lines: 56
Message-ID: <5a80c0f8$0$575$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 188.146.168.117
X-Trace: 1518387448 unt-rea-b-01.news.neostrada.pl 575 188.146.168.117:62308
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 3367
X-Received-Body-CRC: 4294739107
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit