[C++][ActiveX] Gdzie większość funkcjonalności

Odpowiedz Nowy wątek
2008-08-01 13:40

Rejestracja: 13 lat temu

Ostatnio: 9 lat temu

0

Piszę sobie ostatnio kontrolkę ActiveX jest ona dosyć rozbudowana, ale operuje głównie na obiektach jednej dość dużej klasy, mam w związku z tym takie pytanie (nie wiem czy nie za oczywiste): czy jak największa część funkcjonalności kontrolki powinna zostać w jej wnętrzu (tj podczas tworzenia przekazuję do niej tylko obietk mojej klasy i operuję na nim) czy przez metody, które udostępnia, czyli na podstawie np kliknięcia w jakiś przycisk aplikacja, która posiada kontrolkę wykonuje jakąś akcję? Logiczniejsze wydaje mi się pierwsze podejśćie, ponieważ wtedy pisząc nowy program ogranicza się do minimum (tylko do wczytania danych) operacje jakie musi wykonać kolejny programista gdyby chciał ponownie użyć mojego komponentu, w przeciwnym wypadku sam musiał by wszystko oprogramowywać (trochę tego jest), tj każde zdarzenie nadchodzące z kontrolki do okna dialogowego itp. Czy udostępnić z kontrolki tylko najważniejsze metody np w stylu wczytaj dane z pliku, zapisz plik, a resztę realizować wewnątrz (wszystkie kliknięcia w przyciski akcje itp)? Dla mnie takie podejście nie ukrywam było by łatwiejsze do zrealizowania. Mam nadzieję, że w miarę jasno udało mi się wyjaśnić o co mi chodzi ;) Które z rozwiązań jest lepsze?

Pozostało 580 znaków

2008-08-01 16:25

Rejestracja: 11 lat temu

Ostatnio: 1 rok temu

0

Mi się wydaje, żebyś komunikaty itp. zostawił w środku, a rzeczy, które wpłyną na działanie komponentu do wykorzystania.

Pozostało 580 znaków

2008-08-01 16:38

Rejestracja: 13 lat temu

Ostatnio: 9 lat temu

0

Też mi się tak wydaje, tyle, że wtedy ta zewnętrzna funkcjonalność będzie o wiele większa niż to co zawiera w sobie kontrolka sama w sobie, z drugiej strony nie da się przekazać do niej od zewnątrz przy pomocy metody obiektu dowolnej klasy jeżeli chce się używać później w innych językach (c#) a u mnie tak będzie. W takim razie mam pytanie, jak wysłać event np. w comboboxie zmieniono wybrany element?

Pozostało 580 znaków

2008-08-07 09:32

Rejestracja: 13 lat temu

Ostatnio: 1 rok temu

0

cos w stylu

event EventHandler MyEvent;
...
if(MyEvent!=null) MyEvent(this, EventArgs.Empty);

przyczym typ i nazwe eventu dobierz wedlug swoich potrzeb.

ps. to bedzie temat o IO [podzial na komponenety] czy C# [skladnia] ?


no to pojechałem z nieobecnością.. chwila przerwy i prawie rok przeleciał

Pozostało 580 znaków

2008-08-07 09:35

Rejestracja: 13 lat temu

Ostatnio: 9 lat temu

0

w złym dziale założyłem temat? ;) Nie rozumiem tego twojego kodu, co on robi?

Pozostało 580 znaków

2008-08-07 10:33

Rejestracja: 13 lat temu

Ostatnio: 1 rok temu

0

ups.. ostatnia Twoja linijka zasugerowala mi C#.. to jest kod odpalenia eventu w C#, pardon:) w c++/activex, http://www.codeguru.com/forum/archive/index.php/t-275475.html post numer 5 (FireEvent) oraz 8 (poprzez Com)


no to pojechałem z nieobecnością.. chwila przerwy i prawie rok przeleciał

Pozostało 580 znaków

2008-08-07 10:35

Rejestracja: 13 lat temu

Ostatnio: 9 lat temu

0

Spoko, C# znam, pytałem raczej o to, napisałem tak, bo to w końcu dział C++ ;] Już patrzę na tamten wątek ;] Chyba to dokładnie to czego szukałem, nie wiem jak ja przeglądam to codeguru, ale nie znalazłem tego ;] A dokładnie opisuje mój problem, to dokładnie to samo potrzebuję zrobić ;]

Pozostało 580 znaków

2008-08-07 12:59

Rejestracja: 13 lat temu

Ostatnio: 9 lat temu

0

Nie ma to jak zmarnować parę godzin na złe poszukiwania, stwierdziłem jednak, że będę przekazywał całą klasę do mojego pliku ocx ;]

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0