06. september 2000 - 12:27Der er
13 kommentarer og 1 løsning
ActiveX Control -> Javascript/VBScript
Jeg skal bruge mit project på en internetside. Det er for så vidt let nok. Derudover skal ActiveX control\'en kommunikere med siden (altså bare med Javascript/VBScript funktioner). Jeg har adgang til et object kaldet Parent i min ActiveX, hvor jeg f.eks. kan sætte eller få returneret sidens titel, baggrundsfarve og så videre. MEN, jeg kan ikke kalde funktioner, eller <div>\'s jeg har indsat på siden, eller Parent.Parent objektet... og hvorfor så det..?!? Det er mildest talt ret irriterende.
Problem kortet ned: Min ActiveX control skal lave et kald til en VBScript Sub som er på den side hvor Control\'en er loaded. Hvordan gøres det?
Det ser sgu logisk nok ud, jeg kan desværre bare ikke få det til at virke :-( Navnet er bare det navn der skrives i ID parametret i Object tagget, ikke?
således ser siden kode ud: <SCRIPT Language=VBScript> Sub MyOcx_CatchThis() MsgBox \"The sub CatchThis was called...\" End Sub </SCRIPT> <object classid=\"clsid:ECEAA562-6DC6-41A8-A6C3-09B095EC0BDD\" id=\"MyOcx\" Name=\"MyOcx\"> </object>
Imens mit VB projekt indeholder dette:
Private Sub btnAbout_Click() RaiseEvent CatchThis End Sub
Den skulle forsøge at raise den, når jeg klikker på about knappen. ...hmmm..Der kommer heller ikke nogen fejl, men jeg får ikke den Messagebox jeg be\'r om i eventen. :-(
Den stump kode jeg viser dig her virker fint på min computer!! Måske skal du udelade paranteserne efter eventet!!??
<OBJECT ID =\"WorkDayGrid\" CLASSID=\"clsid:D91E2D5D-7743-11D4-BEC9-0050DA920BCD\"> </OBJECT>
<script Language=VBScript> sub WorkDayGrid_ReadyToBeInitialized msgBox \"TEST\" WorkDayGrid.User = Initials WorkDayGrid.Password = Password end sub </script>
Okay det var ret sort.... Jeg prøvede lige at stykke koden sammen inde i MS ActiveX control pad, smide den over i InterDev, og nu virker det perfekt hver gang. Meget steneren...måske trængte jeg bare til at reboote igår hehe...
Jeg har selv haft store problemer med det samme problem! Mit problem lå bare 40 cm fra skærmen! Det vil sige mig selv! Jeg havde stavet Script med b som Scribt hvilket jo selvfølgelig ikke virker!
Hahahaha :-) Ja det er jo logisk nok, og det værste er at man stirrer sig totalt blind på det, og det falder slet ikke én ind at det er en stavefejl i VBScribt hehe :-)
Nu vi er ved det...du ved vel ikke hvad man bruger i Javascript hvor man bruger \"Sub\" i VBScript, vel? Så er det en anelse mere netscape friendly (selvom de vidst stadig ikke support\'er activex :)
Aha..jeg havde overvejet \"function\", men tænkte nahh..den er til hvis jeg vil have returneret noget :-) hehe
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.