Shell extension

Tags:    diverse

Jeg er i gang med at lave en shell extension i Delphi, og er nu løbet ind i et mindre problem.

Problemet er når jeg har kompileret min dll-fil, og skal teste den, skal den lige registreres ("regsrv32.exe filnavn.dll"). Når jeg er færdig med testningen og har afregistreret den ("regsrv32 /u filnavn.dll"), lavet lidt om koden og skal til at kompile får jeg bare at vide at filen ikke kan overskrives. Så jeg bliver nødt til at logge af og på, starte delphi op og så kompile, hvilket er langt fra optimalt.

Så her er spørgsmålet: hvordan får jeg windows til at slippe filen, så jeg får adgang til den igen?

Kan det skyldes dårlig programmering, eventuelt en try..finally som ikke helt holder vand.

MvH

Stefan Svensson
http://fusket.1go.dk



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Jeg er i gang med at lave en shell extension i Delphi, og er nu løbet ind i et mindre problem.

Problemet er når jeg har kompileret min dll-fil, og skal teste den, skal den lige registreres ("regsrv32.exe filnavn.dll"). Når jeg er færdig med testningen og har afregistreret den ("regsrv32 /u filnavn.dll"), lavet lidt om koden og skal til at kompile får jeg bare at vide at filen ikke kan overskrives. Så jeg bliver nødt til at logge af og på, starte delphi op og så kompile, hvilket er langt fra optimalt.

Så her er spørgsmålet: hvordan får jeg windows til at slippe filen, så jeg får adgang til den igen?

Kan det skyldes dårlig programmering, eventuelt en try..finally som ikke helt holder vand.

MvH

Stefan Svensson
http://fusket.1go.dk


Hvad jeg ved, så virker Windows på den måde at Når du regitrere en ActiveX så ligger
ActiveX'en sig ind som et salgs program i baggrunden... Når du så afregtrere den fjernes
dens funktionen, men selve program bliver liggende i baggrunden. Det bliver så fjernet når
du har logget af og på igen(Genstarter eller lig.).

Jeg mener at du kan undgå det ved at bruge Borlands version af regsvr32, tregsvr
den bruges på samme måde som regsvr32.

Du kan også køre den fra Delphi's IDE(Jeg mener også at det er tregsvr, men ikke sikker),
det eneste du skal gøre er at kompilere dit projekt, og derefter gå op i
Run -> Register ActiveX Server, for at registre den, og
Run -> Unregiter ActiveX Server for at afregitre den.

MH.

The-Freak

Livet er for kort til at kede sig.



Jeps det virker, hvis man lukker alle explorer vinduer.

MvH

Stefan Svensson
http://fusket.1go.dk



Ville lige nævne at det kun virker 4/5 gange, dette er ligegyldigt om jeg bruger tregsvr eller gør det fra menuen.... Men det er da bedre MS regsvr, der kun fjerner oplysninger fra registrerings-DB'en.

MvH

Stefan Svensson
http://fusket.1go.dk



t