Jag är precis klar med en liten dll, gjord i vb 6. Du har verkligen kommit in på en av de stora bristerna som finns med VB6 och asp i fadd förening. Om du har vb på servvern kan du köra DLL'n i debug läge. Se till att inga instanser använder den(Typ stäng ned webservern). Starta din dll i debuglägge. Starta servern och gå in på sidan. Har för mig at den då kör dll'n från vb. Men det kan strular.Hur debuggar man en registrerad dll?
Den anropas via en aspsida- Om jag refererar till dll'en i debugläge så funkar allt jättebra men när jag sedan registrerar den så får jag felet:
Object variable or With block variable not set
Detta sker i den rad jag anropar en funktion i dll'en, mao Server.CreateObject funkar bra men sedan att använda den genererar ovan nämnda fel.
Finns det något bra/snabbt sett att få reda på vilken rad felet sker i?
Typ radnummer eller liknande, Sv: Hur debuggar man en registrerad dll?
Det finns faktiskt ett svar på din fråga: Det går inte!
Det har nämligen alla bråkat om och med i generationer (nej men länge).
Lyckligtvis har det resulterat i ett antal fina work-arounds av vilka en var min personliga favorit.
I din ddl, som du senare ska registrera, så lägger du in små rader med kod vid viktiga tillfällen. Dessa små rader skriver till en liten textfil och då du får ett fel så skriver du ner så mycket information som du bara kan i textfilen.
När detta är klart drar du upp rättigheterna för den mapp som innehåller dll:en och textfilen och kör.
Kanske det ser ut som:
: Startar
: Hämtar info från databasen
Id = 1235
: Läser in data
: Error! Division By Zero
: END
Dock, skulle jag vilja påpeka att utifrån din beskrivning av problemet verkar inte objektet (dll:en) kunna skapas. Server.CreateObject falerar. Är du SÄKER på att det inte är problemet? Pröva t ex att köra med det CLSID som komponenten får vid registrering och INTE namnet.
//Mikael.NET
- Escaped the dll hell -Sv: Hur debuggar man en registrerad dll?
Annars brukar det ofta vara ett slarvfel som du beskriver. Att du t.ex glömt instansier aett objekt. Eller har stavfel i variablenamn.