Avatar billede johnnyk Nybegynder
24. marts 2001 - 10:43 Der er 23 kommentarer og
1 løsning

COM - ATL

Hej!

Jeg er stadig meget grøn indenfor programmering, så hvis mit spørgsmål er helt i skoven, så er det selvfølgelig kun derfor ;)
Mit spørgsmål er flg:
Jeg er for nyeligt læst en bog om C og bilder mig ind, at have meget godt styr på det. Jeg synes selvføgelig, at det er fedeste sprog (i hvert fald hvis man sammenligner med VB) og kunne godt tænke mig, hvis der var mulighed for at bruge det til udvikling af (lidt simplere) COM-komponenter til ASP (da jeg kan ASP). Jeg  ved så meget, at man normalt bruger ATL og at det følger med Visual C++, men betyder det, at man (ikke) kan bruge C? Inden får fat i Visual C++, vil jeg godt lige vide om jeg er nødt til at læse et par C++ bøger igennem først. Er der iøvrigt alternativer til ATL - hvis man vil bruge C til udvikling af COM?

/Johnny
Avatar billede heineskov Nybegynder
24. marts 2001 - 11:21 #1
Der er ingen der siger at du absolut SKAL bruge ATL til udvikling af dine COM komponenter. ATL er et template sprog som kan bruges hvis man f.eks. skal lave små komponenter som ikke skal bruge MFC DLL\'erne. Og jeg vil da godt anbefale dig at læse en enkelt bog omkring C++ bøger igennem inden du kaster dig ud i OO-programmering...
Avatar billede johnnyk Nybegynder
24. marts 2001 - 11:50 #2
Der er selvfølgelig ikke tvivl om, at jeg skal læse nogle C++ bøger, før jeg springer ud i det. Er også så småt i gang med det. Men jeg er nok lidt utålmodig, så hvis jeg kunne lave mindre COM komponenter med C allerede nu, så ville det være perfekt. Men kan man bruge C med ATL, hvis jeg altså vælger at bruge ATL?
Avatar billede pstric Nybegynder
25. marts 2001 - 04:05 #3
Selvfølgelig _kan_ du bruge C til ATL programmering, men ATL er skrevet til C++, så vent hellere.
Avatar billede johnnyk Nybegynder
26. marts 2001 - 12:21 #4
Det er nok et meget godt råd - så det bare som en oplagt mulighed for mig til at kunne bruge C.
Tak begge to, men jeg kan ikke rigtig give nogen af jer point, da I kun har givet kommentarer. Hvis I lige sender et svar, kan jeg dele pointene mellem jer.
/Johnny
Avatar billede wisen Nybegynder
27. marts 2001 - 07:50 #5
Som pstric skriver _kan_ C godt bruges til lave COM-komponenter, men at lave sådan een fra bunden der ikke ligefrem en let opgave. Hvis du bruger Visual C++ og MFC, er det meste pakket ind, bla. vha. ClassWizard\'en. Du slipper altså for en masse bøvl. Problemet ved at bruge MFC er at selve komponenterne bliver større...

God fornøjelse...

/Wisen
Avatar billede johnnyk Nybegynder
27. marts 2001 - 14:25 #6
Tak :), men nu har jeg et konkret problem!
Jeg har fået fat i en introduktionsudgave af VC++ og har nu forsøgt at lave en activeX Server Component, men når jeg beder den om at builde, så stopper den ved registreringen - ventede i flere minutter uden resultat. Hvad kan problemet være???
Jeg vil selvfølgelig gerne smide nogle flere point oven i for svar.
/Johnny
Avatar billede johnnyk Nybegynder
27. marts 2001 - 14:44 #7
Der er kun tilføjet én metode - skal den kompileres først mon?
Avatar billede johnnyk Nybegynder
27. marts 2001 - 14:46 #8
Det er som om den søger et eller andet på diskette-drevet når jeg beder den om at builde, og går så i coma!?
Avatar billede wisen Nybegynder
27. marts 2001 - 14:50 #9
Hmm, I have _no_ idea ....
Avatar billede johnnyk Nybegynder
27. marts 2001 - 14:52 #10
Men hvad er det præcist den linker til når den registrerer?
Avatar billede wisen Nybegynder
27. marts 2001 - 14:56 #11
Nu har jeg aldrig prøvet at lave en Server Component, men ved \"almindelige\" OCX\'er bruger den programmet regsvr32.exe til at registrere med. Måske den gør det samme ?
Avatar billede johnnyk Nybegynder
27. marts 2001 - 15:09 #12
Det har du selvføgelig ret i, og den ligger i system32 mappen. Har det nogen betydning, hvor projektet ligger fysisk?
Avatar billede johnnyk Nybegynder
27. marts 2001 - 15:12 #13
Eller rettere - dll\'en!
Avatar billede wisen Nybegynder
27. marts 2001 - 15:13 #14
Nej, det går jeg ikke ud fra. Hvis bare din PATH er sat rigtigt op, således, at den kan finde regsvr32...
Avatar billede johnnyk Nybegynder
27. marts 2001 - 15:15 #15
Ok - hvor sætter jeg den?
Avatar billede johnnyk Nybegynder
27. marts 2001 - 15:18 #16
Men jeg tror nu, at problemet hænger sammen med, at den søger på diskette-drevet ved registreringsprocessen - det giver da ikke nogen mening!?
Avatar billede wisen Nybegynder
27. marts 2001 - 15:24 #17
Nope, det giver ikke mening, som sagt så har jeg ikke lige en forklaring...

Din PATH sætter du i autoexec.bat i roden at dit C: - drev. Det burde bare være sat rigtigt, hvis du ikke har rodet i det ...
Avatar billede johnnyk Nybegynder
27. marts 2001 - 15:35 #18
Hmm - der ligger to Autoexec.bat filer, selvfølgelig to forskellige steder (går ikke ud fra det er et problem). Men ingen af dem har pathen til resvr32. Det er måske derfor kompileren søger på diskette-drevet?
Avatar billede johnnyk Nybegynder
27. marts 2001 - 15:37 #19
Den ene ligger selvfølgelig i roden af C drevet.
Avatar billede johnnyk Nybegynder
27. marts 2001 - 15:41 #20
Kan jeg så bare skrive:
PATH=C:\\WINDOWS\\System32\\inetsrv\\regsvr32.exe
i den?
Avatar billede wisen Nybegynder
27. marts 2001 - 16:12 #21
Nej, der skal stå noget i retning af \"PATH=C:\\WINDOWS\\System32\\inetsrv\\\"
Avatar billede johnnyk Nybegynder
28. marts 2001 - 20:14 #22
Ok - det vil jeg prøve at skrive, når jeg får min maskine op at køre igen - lykkedes mig lige at crashe den - :)
Men du får under alle omstændigheder points\'ne, for jeg tror, at du har ledt mig på rette spor.
/Johnny
Avatar billede pstric Nybegynder
28. marts 2001 - 20:40 #23
Så var det jo alligevel meget godt, at jeg ikke gav noget svar. Den kommentar jeg var kommet med, ville jeg altså heller ikke have point for.
Avatar billede johnnyk Nybegynder
29. marts 2001 - 00:37 #24
Efter lige at have haft mulighed for at lege lidt med det (inden min fordømte maskine crashede), så kan jeg da se, at du har helt ret i, at ATL er skrevet til C++. Jeg fik ikke lige tjekket muligheden for at bruge C - fordi det eksempel, der fremgik at den bogen, var skrevet i C++. Men jeg kan da godt se, at det måske på længere sigt er bedst, at holde sig til C++ . Ledte bare efter en god undskyldning til at bruge C, nu hvor jeg lige har lært det :)
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