Avatar billede jps2mt Nybegynder
16. oktober 2000 - 22:44 Der er 25 kommentarer og
1 løsning

ActiveX -> ASP..Hvordan??

Jeg er ved at forsøge at lære at lave en ActiveX komponent i VB6, som jeg kan bruge via ASP...

Hvordan skal man starte sin ActiveX, og hvordan skal man skrive for at få den til at skrive noget i web-browseren??

Jeg har forsøgt flg.:

Public Function WriteStr()
Response.Write \"Test\"
End Function

Og i ASP-scriptet:

<%
Set Test = Server.CreateObject(\"Project1.Class1\")
Test.WriteStr()
%>

Men det virker ikke...Hvad skal jeg gøre for at få det til at virke??

Mvh. Morten
Avatar billede _tdaugaard Nybegynder
16. oktober 2000 - 22:45 #1
Hvis du ikke ved, så lad være med at starte på det
Avatar billede jps2mt Nybegynder
16. oktober 2000 - 22:47 #2
Jeg har programmeret MEGET i VB6, og har lavet adskellige stand-alone programmer...

Og har også lavet MEGET i ASP...Men at få de to til at arbejde sammen er mit nye mål, og det kan jeg ikke lige se sammenhængen i...
Derfor mit spm.
Avatar billede andreas_admin Nybegynder
17. oktober 2000 - 09:20 #3
_tdaugaard>> Du er slettet på Eksperten.dk, men meget velkommen igen når du bruger et navn, som ikke er oprettet for at stille andre brugere i et dårligt lys, og du i øvrigt bruger Eksperten, som den er beregnet. Vel mødt :)
Avatar billede jette Nybegynder
17. oktober 2000 - 09:44 #4
En ActiveX-komponent kan jo være mange ting.
Det lyder som om din komponent skal skrive noget (tekst) i browseren ?!?

Har du downloadet din komponent via browseren ?
Kan du teste din komponent lokalt ?


<object id=\"ActiveX-Comp\" (Du skal tildele en object id - dernæst skal du tildele en classid)
classid=\"CLSID:F5D98C43-DB16-11CF-8ECA- 0000C0FD59C7\" (Tilfældigt eksempel - og tilsidst skal du udpege en codebase, hvor komponenten kan downloades fra...)
codebase=\"/ActiveX/HTML/ActiveX.cab\" (eksempel)

Dernæst er det afhængigt af hvordan du har programmeret din ActiveX-component....

Hvor langt er du kommet ?
Avatar billede jps2mt Nybegynder
17. oktober 2000 - 10:33 #5
jette >> Uha...Det ser besværligt ud...

Jeg er slet ikke nået ret langt...Mit komponent kan intet...

Jeg vil bare for at teste, ha\' den til at skrive en tekst på skærmen, men det jeg egentligt vil lave når den er færdig er en komponent der kan generere en side der viser diverse informationer om min serverpark...

Mvh. Morten
Avatar billede mn Nybegynder
17. oktober 2000 - 12:11 #6
Er der tale om en ActiveX OCX eller en ActiveX DLL ??
Avatar billede jps2mt Nybegynder
17. oktober 2000 - 12:42 #7
mn >> Det er en ActiveX DLL, da den jo skal registreres på serveren, og bruges via ASP...
Avatar billede mn Nybegynder
17. oktober 2000 - 13:18 #8
Man kunne også lave noget integration af ActiveX ocx\'er og asp... Det har jeg da lavet... men det er en anden historie.

Hvis du vil havde din funktion til at spille skal du lave følgende (hvis jeg har forstået dig ret !?!?) :

Public Function WriteStr() As String
WriteStr = \"Test\"
End Function

Og i ASP-scriptet:

<%
Set Test = Server.CreateObject(\"Project1.Class1\")
response.write Test.WriteStr()
%>
Avatar billede jps2mt Nybegynder
17. oktober 2000 - 13:29 #9
mn >> Det duer ikke helt...

Så skriver den bare dette i browseren:

Response.Write \'Test\'

Avatar billede nolle_k Nybegynder
18. oktober 2000 - 10:42 #10
Jeg er ikke sikker på om det er muligt at få ActiveX kontrollen til at skrive på selve siden! Eller jeg kan næsten ikke forestille mig at det kan lade sig gøre! Du er nok nødt til at lave et Event eller en metode som ASP siden kan bruge til at hente de oplysninger, der skal bruges!

Hvis du vil have et objekt til at skrive noget i selve browseren skal du nok ud i noget med WEB klasser, der også kan laves ved hjælp af VB!
Avatar billede jps2mt Nybegynder
18. oktober 2000 - 11:27 #11
nolle > Eksempel??  :-)
Avatar billede nolle_k Nybegynder
18. oktober 2000 - 12:36 #12
For det første er du nødt til at have IIS installeret før du kan lave et projekt, der består af en WEB klasse!

Først vælg New Project!

Vælg IIS Application!

Private Sub WebClass_Start()
  With Respones
    .write \"<html>\"
    .write \"<body>\"
    .write <h1><font> face =\"\"Arial\"\">Webbclass1\'s Starting Page</font></h1>
    .write \"</body>\"
    .write \"</html>
  end with


Etc!



Avatar billede nolle_k Nybegynder
18. oktober 2000 - 12:37 #13
Så skulle den være der!
Avatar billede jps2mt Nybegynder
18. oktober 2000 - 12:45 #14
nolle >> Den siger jeg ikke hat IIS installeret!!

Jeg har IIS5 installeret på den maskine jeg programmerer på, og IIS4 på serveren...Hvorfor siger den så dette??
Avatar billede nolle_k Nybegynder
18. oktober 2000 - 12:47 #15
Hvilken version af IIS har du installeret???
Avatar billede jps2mt Nybegynder
18. oktober 2000 - 12:53 #16
nolle >> Som jeg skrev...IIS5 på den maskine jeg programmerer på og IIS4 på serveren (Der hvor komponenten skal køres fra)
Avatar billede nolle_k Nybegynder
18. oktober 2000 - 12:55 #17
øøøøøøøhh OKAY!!

Godt spørgsmål!!

Det burde kunne lade sig gøre!

Undersøge det lige lidt!
Avatar billede jette Nybegynder
18. oktober 2000 - 13:21 #18
Har du tjekket om WWW-servicen kører på din PC ?
- og når der i din browser står:

Response.write \'test\'

Har du så husket <% %> udenom ? - og husker du at kalde web-siden fra http://localhost/.... ?
Måske et overflødigt spørgsmål, men det ser ikke ud til at din lokale web-server arbejder med asp-koden....
Avatar billede jps2mt Nybegynder
18. oktober 2000 - 13:25 #19
Jette >> Ja, webserveren kører (http://www.trab.dk) og ja, jeg har også <% %> omkring...
Avatar billede mn Nybegynder
19. oktober 2000 - 11:17 #20
Kommentar fra jps2mt 
17-10 2000 13:29:24  >>  Du skal huske at re-registrere din dll. Du kører stadig med den gamle version. du kan evt. un-registrere (\"regsvr32.exe /u c:\\mydll.dll\") først, genstarte og så registrere. Så er du sikker på versionerne....
Avatar billede jps2mt Nybegynder
19. oktober 2000 - 12:25 #21
mn >> Er det også nødvendigt at genstarte??
Avatar billede nolle_k Nybegynder
19. oktober 2000 - 12:33 #22
Det burde ikke være nødvendigt at genstarte! Og hvis du benytter Project Compatibillity burde det heller ikke være nødvendigt at re-registrere!

Avatar billede mn Nybegynder
19. oktober 2000 - 13:25 #23
Man er i så fald sikker på at dll-filen ikke er i brug / åben. Det har jeg erfaret har været et problem...
Men umiddelbart lyder det som om din funktion ikke er blevet udskiftet.

Hvis du vil benytte asp-objekterne i din dll-fil, skal du inkludere nogle server extensions... web-dll\'er af en eller anden slags (kan ikke lige huske hvad de hedder...).
Ellers kan du jo lave nogle funktioner, der returnerer de data du ønsker at processere i din funktion...
Det er ihvert fald med det formål jeg benytter dll\'er.

Jeg har lagt et spørgsmål på http://www.eksperten.dk/spm/29006 . Dette er også yderst interessant i asp/dll-regi, men har ikke fundet ud af hvordan denne skal grejes. Tag et kig.
Avatar billede super_g Nybegynder
22. oktober 2000 - 02:10 #24
Jeg har også været igang med at lave lignende projekt, og jeg fik det vist til at virke nogenlunde. Men man har bare ikke en SK*D rettigheder i den .DLL man laver.

Jeg kunne godt sende en streng til .dll og modtage fra den.
Altså:
Modtage = DllRef.Funktion(Sende)

Jeg kan lige se i mine gemmer, og der dukker noget op.
Avatar billede jps2mt Nybegynder
25. oktober 2000 - 14:31 #25
Sorry alle...Jeg havde KOMPLET glemt dette spm. da jeg ikke har modtaget noget fra Eksperten på de sidste 3 kommentarer...

Men...Konklusion...Jeg HAR fået det til at virke nu, og dette ved hjælp af mn\'s svar, med WriteStr = \"Test\" og en genstart af serveren...*S*

Mange tak, mn...
Avatar billede mn Nybegynder
26. oktober 2000 - 09:28 #26
s\'lidt :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester