mojaSymfonia FORUM
https://forum.mix-soft.pl/

wlasne kontrolki w AmBasic
https://forum.mix-soft.pl/viewtopic.php?f=15&t=722
Strona 1 z 1

Autor:  sebapr [ 2009-03-25, 12:39 ]
Tytuł:  wlasne kontrolki w AmBasic

Witam
Chcialbym zapytac czy komus udalo sie "wyswietlic" wlasne kontrolki w raporcie ambasic?

zrobilem UserControl (C#, VS 2005) i uzylem nowej kontrolki w projekcie sbc - tutaj bez problemu chodzi. Natomiast proba uzycia tej kontrolki w AmBasic powoduje wysypanie sie calej FK/Handlu.

raport w ambasic wyglada tak (copy paste wersji "roboczej"):

Kod:
dispatch grd
dispatch ed

int sub OnCommand()
endsub

int sub OnZamknij()
   OnZamknij = 2   //wartośc zwracana przez "execform"
endsub

form "test control", 900, 400
   control "damhmf.UserControl1", grd, 10, 10, 800, 200
   button "Zamknij",100, 340, 100, 25, OnZamknij()
execform //OnCommand

Autor:  rafal [ 2009-03-25, 16:07 ]
Tytuł: 

kontrolka przygotowana w .NET musi byc specjalnie spreparowana tak aby była widoczna w systemie jako obiekt COM. Dopiero wtedy możesz użyć jej w VBA lub AMBasic.

Autor:  sebapr [ 2009-03-25, 16:33 ]
Tytuł: 

kontrolke zrobilem dokladnie jak w tym przykladzie:

[...] {link nie jest ogólniedostępny więc został wykasowany przez Administratora}

Dla celow przykladu na kontrolke wrzucilem tylko jeden label i tyle - tak zeby bylo tylko widac ze jest wyswietlona. W VB (sbc) bez problemu widze kontrolke (zrobilem nawet bardziej zaawansowana z DataGridView, pobieraniem danych z bazy...)
Proba wyswietlenia kontrolki w AmBasic konczy sie wysypka symfonii.

Autor:  rafal [ 2009-03-25, 17:13 ]
Tytuł: 

dołącz cały projekt tej kontrolki do tego posta jako załacznik.

Autor:  sebapr [ 2009-03-25, 17:25 ]
Tytuł: 

ok, w zalaczniku spakowany projekt. w binie (debug) jest skomilowana dllka, posiada ona dwie kontrolki:
damhmf.UserControl1 - jakis grid i przycisk do pobierania danych z bazy
damhmf.UserControl2 - kontrolka ma tylko jeden label zeby bylo cos widac

Załączniki:
Komentarz: projekt
damhmf.rar [39.61 KiB]
Pobrany 423 razy

Autor:  sebapr [ 2009-03-30, 13:14 ]
Tytuł: 

pare osob sciagnelo projekt... jakies wnioski albo uwagi? ktos probowal cos z tym zrobic?

Autor:  mnat [ 2009-04-06, 10:22 ]
Tytuł: 

Brakuje kilka rzeczy w Twoim projekcie.

1. Przede wszystkim każdy obiekt COM musi mieć guid'a. Inaczej system go nie będzie mógł zarejestrować

2. Jeżeli chcesz wywoływać jakieś metody, za wyjątkiem Get, Set (które są już wbudowane) to musisz utworzyć jakiś interfejs. I tutaj dodatkowo możesz uzyskać zdarzenia, o co w Sage'u ciężko - kolejny interfejs.

3. Przydałoby się też zastosować ComVisible, ClassInterface i InterfaceType z InteropServices

To zazwyczaj wystarczy do uzyskania oczekiwanego efektu :mrgreen:

Autor:  mnat [ 2009-04-07, 23:09 ]
Tytuł: 

Żeby się nie powtarzać poczytaj tutaj

Autor:  sebapr [ 2009-04-15, 12:58 ]
Tytuł: 

witam po urlopie :mrgreen:
i dziekuje za (p)odpowiedz. obadam sprawe

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/