[ KiselinaXP @ 03.04.2005. 16:08 ] @
| Imam jedan problem sa programom kojeg sam preuzeo sa vbAcceleratora. Kada ga probam pokrenuti izbaci mi poruku :
Run-time error '429':
ActivX component can't create object
Pomozite mi. Hvala unapred.
[Ovu poruku je menjao mladenovicz dana 04.04.2005. u 10:08 GMT+1] |
[ Shadowed @ 03.04.2005. 16:09 ] @
Postuj problematicni deo koda.
[ KiselinaXP @ 03.04.2005. 16:13 ] @
Pa sta da uradim dali ga mogu ikako pokrenuti?
[ Wlada @ 03.04.2005. 17:41 ] @
Fali ti neka ActiveX controla. Probaj da u SUB main ubacis Error handler i u okviru njega da ispise opis greske. Tako ces dobiti poruku koja ti kontrola fali.
[ KiselinaXP @ 03.04.2005. 18:03 ] @
Izvini nerazumijem te jel mozes napisat citav kod.
[ Marko_L @ 03.04.2005. 18:15 ] @
Čekaj, ti u stvari nemaš source kod, već samo kompajliran exe fajl ako sam dobro razumeo, ili...?
[ KiselinaXP @ 03.04.2005. 18:19 ] @
Cekaj, cekaj ja sam skino sa vbAcceleratora vjezbu i skino sam sve .OCX koji su bili tu a kada ocu da ga pokrenem pisemi ona poruka koju sam gore naveo.
[ Marko_L @ 03.04.2005. 18:33 ] @
Ništa ja tebe ne razumem.Ajmo polako.Dakle, imaš source code i sve potrebne fajlove.Ok, kada pokreneš taj kod u VB-u i kada ti javi tu grešku, trebalo bi da imaš da klikneš na DEBUG.Kada klikneš na debug VB ti označi liniju koja prouzrokuje tu grešku.E sad možeš li ti tu liniju da iskopiraš (zajedno sa još par okolnih linija) i postuješ ovde da vidimo koja to komponenta pravi problem ?
[ Aleksandar Ružičić @ 03.04.2005. 22:12 ] @
a da probas prvo da registrujes te ocx-ove koje si skinuo uz kod? ;)
i jesi li 100% siguran da si skinuo sve potrebne ActiveX komponente?
koji kod je u pitanju? (posto sam skinuo skoro sve sa vbAcceleratora pa sam pomalo upoznat sa njima0
[ vujkev @ 03.04.2005. 23:55 ] @
Vecina kontrola sa VBacceleratora zahteva SSubTmr.dll ili SSUbTmr6.dll.
Pogledaj koje sve fajlove ta kontrola zahteva. Imas na dnu stranice gde si
skinuo taj fajl sve sta je jos potrebno.
Usput koja je kontrola u pitanju?
[ KiselinaXP @ 04.04.2005. 11:20 ] @
U pitanju je ovaj kod u ClassModuls "cToolbarMenu:
Code:
Friend Sub CoolMenuAttach(ByRef hWndA As Long, ByVal cBar As cMenuBar)
Dim lPtr As Long
m_iExit = 0
CoolMenuDetach
m_hWnd = hWndA
SendMessageLong m_hWnd, WM_ENTERMENULOOP, 0, 0
AttachMessage Me, m_hWnd, WM_MENUSELECT
m_lPtr = ObjPtr(cBar)
End Sub
To je inace onaj program sa skinom...
[ KiselinaXP @ 04.04.2005. 11:34 ] @
I prijavljuje gresku na:
Code: AttachMessage Me, m_hWnd, WM_MENUSELECT
Dali znate sta je mozda?
[ Mladen_Perisic @ 04.04.2005. 15:22 ] @
Mislim da je problem u načinu na koji se poziva funkcija API. nijesam baš siguran, pošto se trudim da što manje koristim API (upravo zato da bi program radio na što je više računara bez problema). Naravno, nijesam siguran, ali pokušaj nešto sa ovim. Zbog toga 'Can't create object" mislim da je to u pitanju. Meni se slično dešavalo upravo kad sam koristio API. Pošto nijesam znao riješenje, petljao sam nekako ručno.
[ quattor @ 05.04.2005. 15:55 ] @
Vec je pomenuto, ali da prosirim... Na stranici sa koje si skidao kontrolu imas spisak dodatnih kontrola/dll-ova i dr. fajlova od kojih doticna kontrola zavisi. Moras ih sve poskidati i registrovati. Najsigurnije u Windows/System32 folder, a registruj sa RegSvr32.exe imedllailiocxa. Tada startuj program i morace da radi. Ako i tada postoji problem onda cemo malo zesce mucnuti glavom...
Pozdrav.
[ Marko_L @ 05.04.2005. 16:56 ] @
Malo offtopic, ali...
Citat: Mislim da je problem u načinu na koji se poziva funkcija API. nijesam baš siguran, pošto se trudim da što manje koristim API (upravo zato da bi program radio na što je više računara bez problema).
API se pored toga što se sa njim mogu uraditi neke stvari koje ne mogu pomoću standardnih funkcija, koristi upravo zato da bi program radio na što više mašina bez dodtanog žongliranja sa komponentama (a ne obrnuto kao što ti misliš), jer API pozivi uglavnom pozivaju funkcije koje se nalaze u dll-ovima koje se standardno nalaze u Windows-u, dok recimo ako koristiš neke activeX kontrole, pogotovo ako su neke nestandardne nema u Windows-u, pa moraš da ih distribuiraš uz program i registruješ, što nekad može da bude problem.
[ mladenovicz @ 05.04.2005. 17:11 ] @
API i "ActivX component can't create object" ne bi trebalo da imaju veze jedno s drugim
[ Marko_L @ 05.04.2005. 17:34 ] @
To sam zaboravio da pomenem, da se u ovom konkretnom slučaju ne radi o API pozivu.
[ Mladen_Perisic @ 05.04.2005. 19:10 ] @
Hm... Ok, ako se ne radi o APIju. Ja sam imao sličan problem upravo kad sam KORISTIO API. Zašto ga izbjegavam? Zato, jer ja ne znam da li je na sistemu instaliran .NET framework koji odlično proširuje API ili ne, i pored sve želje, ja ga izbijegavam. Konkretno. Šta ako se desi da je na računareu instaliran 98 a moj program koristi pozive koji su standardni XPu. Iako pravim uglavnom poslovne aplikacije, nijesam tip rogramera koji dolazi u firme kad god se nešto desi sa programom ili bude potrebna izmjena. Mojp orgram MORA da radi sa SVIM Windowsima na koje naiđe (osim, naravno, 3.11). Zato izbjegavam API. Ljudi dobijaju CDove sa programom i očekuju da rade na svim računarima. Tako i ja radim. OCX kontrole koje koristim su dobro ispitane i rade od 95ice pa nadalje. Zato njih koristim. Nadam se da sam bio dovoljno jasan ovog puta. Ipak, svjestan sam da je API nešto neophodno i vrlo zdravo i dobro, ali ja jednostavno ne dozvoljavam sebi taj luksuz da me ljudi zivkaju. Prije neko vrijeme sam čeprkao neku funkciju iz APIja i dotičnu pronašao u jednoj knjizi (VB6 for Professionals (iako tada nijesam bio uopšte neki profi, a nijesam ni sada), tamnije korice, englesko izdanje, oko 800 str). Iako su radile isto, funkcije su radile na XPu obje, a na 98osmici samo ova iz knjige. Tada mi to nije jasno bilo nikako i onda sam sa jednim kolegom preko chata razgovarao o tome. Objasnio mi je stvari i u čemu je problem.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|