za ActiveX control i WWW
10 отговора
269 прегледа
za ActiveX control i WWW
abe imam edin siriozen problem, triabva da se napravi edna programa, koiato se durji v eksplorera kato inplace server, t.e. primerno kakto se otvariat pdf fail4etata. ama tva e lesno, oba4e horata iskat tva da stava direktno kato se otvori dadena internetska strani4ka, bez da e neobhodimo da se svalia i instalira prilojenieto na lokalnia komputer. demek kato obiknoveno activex component4e. osnovnia problem e 4e triabva da ima niakolko prozoreca i menu.. i toolbar. ne mi triabva gotovo reshenie, ami nekoia umna glava da kaje e li fazmojno takova jivotno, i ako ne ima li neshto s koeto da se zameni.. stava vapros za programka na VeCe++. ako puk moje i dadete niakvi nasoki i preporuki.. she 4erpia po bira;)
Re: za ActiveX control i WWW
Не може да се изпълнява код, който не е в машината
Програмата ще трябва да се download-ва, независимо дали е COM контейнер, java аплет или каквото и да било друго.
Но ако имаш предвид, че потребителят не трябва да инсталира нищо (софтуера да се инсталира автоматично), то тогава има 2 решения - едното е интернетски инсталатор, не може да не си виждал такива, а другото е както казваш - ActiveX контрола. Но без значение на какво ще се спреш, ако имаш твой код, който се изпълнява на конкретна машина, то можеш да правиш каквото си искаш - прозорци, тулбарове, менюта и т.н.
Я вышел им наперерез...
Програмата ще трябва да се download-ва, независимо дали е COM контейнер, java аплет или каквото и да било друго.
Но ако имаш предвид, че потребителят не трябва да инсталира нищо (софтуера да се инсталира автоматично), то тогава има 2 решения - едното е интернетски инсталатор, не може да не си виждал такива, а другото е както казваш - ActiveX контрола. Но без значение на какво ще се спреш, ако имаш твой код, който се изпълнява на конкретна машина, то можеш да правиш каквото си искаш - прозорци, тулбарове, менюта и т.н.
Я вышел им наперерез...
Re: za ActiveX control i WWW
dobre be basi, az to4no tva imam predvid.. usera ne triabva da instalira nishto! ama ActiveX controlite niamat menuta, niamat pravo da suzdavat prozorci.. i izobshto.. samo niakuv OnDraw metod. ili pone az ne moga da vdiana kak!!! help pls
Re: za ActiveX control i WWW
нямат право да създават прозорци?
и само някакъв OnDraw метод?
от IOleClientSite правиш QueryInterface - получаваш IOleInPlaceSite, от него викаш GetWindowContext и получаваш IOleInPlaceFrame и IOleInPlaceUIWindow - което ти и трябва.
това е.
и само някакъв OnDraw метод?
от IOleClientSite правиш QueryInterface - получаваш IOleInPlaceSite, от него викаш GetWindowContext и получаваш IOleInPlaceFrame и IOleInPlaceUIWindow - което ти и трябва.
това е.
Re: za ActiveX control i WWW
mi ima edno nesto BHO(Browser Helper Object) koeto se startira sas vsiaka instacia na explorera i mu se podava ukazatel kam IE(raboti samo s Internet Explorer obache). No taka ili inache triabva da se sloji v registry-to za da moje da se vika ot IE prozoreca kogato se startira. Inache s nego mojesh da pravish kakvoto si poiskash obache triabva da go ima na komputera na klienta i da se sloji v registry-to 8-))))
Re: za ActiveX control i WWW
За пръв път чувам за win програма, която да "няма право да създава прозорци"
Но в интерес на истината, OnDraw ти е достатъчен за всичко, стига да ти се занимава.
И изобщо имам едно такова чувство, че си се захванал с нещо, което не ти е по силите
Я вышел им наперерез...
Но в интерес на истината, OnDraw ти е достатъчен за всичко, стига да ти се занимава.
И изобщо имам едно такова чувство, че си се захванал с нещо, което не ти е по силите
Я вышел им наперерез...
Re: za ActiveX control i WWW
Не е само за Internet Explorer, а за Explorer (shell-a на win) като цяло. Това е готино нещо (БХО), но трябва да се пише много прецизно, тъй като има доста разлики между браузването на машината, на www на ftp и т.н. Примерно като си браузваш диска, get_Document на IWebBrowser2 връща NULL и ако нямаш съответната проверка, получаваш "бум".
А за регистрито има една хитрост: при линкването на COM dll-a в ресурсите се включват едни .rgs файлчета,които обикновено съдържат информацията, необходима при регистрирането на dll-a. Те по принцип се генерират автоматично, и не се забелязват, но нищо не пречи да си добавиш в тях своя информация, като например необходимата за BHO-то.
При изпълнение на DllRegisterServer ATL-a ти ъпдейтва регистрито автоматично.
Я вышел им наперерез...
А за регистрито има една хитрост: при линкването на COM dll-a в ресурсите се включват едни .rgs файлчета,които обикновено съдържат информацията, необходима при регистрирането на dll-a. Те по принцип се генерират автоматично, и не се забелязват, но нищо не пречи да си добавиш в тях своя информация, като например необходимата за BHO-то.
Я вышел им наперерез...
Re: za ActiveX control i WWW
ok, dobre priznavam.. mai niakoi raboti mi idvat v pove4ko
i blagodaria za ideite. no rabotata triabva da se vurshi, i to skoro
naistina vsi4ko moje da se napravi s OnDraw, no tva e bezmisleno shtoto ve4e ima gotovo prilojenie na MFC raboteshto localno. ideiata e da se prenese to v ActiveX i da se startira samo v browsera, kato prosto izpolzvam document-view arhitekturata koiato e izgradena ve4e.. i pls, kak da si go izvikam tva IOleClientSite ebasi
i blagodaria za ideite. no rabotata triabva da se vurshi, i to skoro
naistina vsi4ko moje da se napravi s OnDraw, no tva e bezmisleno shtoto ve4e ima gotovo prilojenie na MFC raboteshto localno. ideiata e da se prenese to v ActiveX i da se startira samo v browsera, kato prosto izpolzvam document-view arhitekturata koiato e izgradena ve4e.. i pls, kak da si go izvikam tva IOleClientSite ebasi
Re: za ActiveX control i WWW
контейнерът ще ти предаде pointer към своя IOleClientSite като прави IOleObject->SetClientSite() (като преди това е взел от теб IOleObject)..
опасявам се, че това ти звучи като Traditional Chinese.. :(
не разбирам много от MFC, no ако това готовото MFC приложение не е направено като COM сървър, можете да направиш ново като кажеш на AppWizard-а да бъде COM сървър и после да пренесеш останалите класове от стария проект в новия.
по принцип не е задължително COM сървъра да е inproc (тоест DLL) - например когато отвориш DOC файл в Internet Explorer-a - MS Word се активира inplace, нищо че е out-of-process server (EXE).
опасявам се, че това ти звучи като Traditional Chinese.. :(
не разбирам много от MFC, no ако това готовото MFC приложение не е направено като COM сървър, можете да направиш ново като кажеш на AppWizard-а да бъде COM сървър и после да пренесеш останалите класове от стария проект в новия.
по принцип не е задължително COM сървъра да е inproc (тоест DLL) - например когато отвориш DOC файл в Internet Explorer-a - MS Word се активира inplace, нищо че е out-of-process server (EXE).
Re: za ActiveX control i WWW
Аз се опасявам, че използването на MFC в този случай не е много уместно, тъй като работата става дебела, а за download трябват тънки неща...
Я вышел им наперерез...
Я вышел им наперерез...
Re: za ActiveX control i WWW
dobre, niakvi idei.. otkude da si nameria niakuv gotov skelet na prilojenie ot koito da se u4a? pls