Förra gången försökte jag ange sök väg till dll när jag deklarerade den och det går nog inte. Ja där ser man.Det är helsjukt att bygga DLL:er som i sin tur skall ha Det är inte så konstigt som det läter. Mitt exe program kallar på en dll för vissa uppgifter. Men ! ? det måste väl bero på vilket argument du skickar till DLL:en eller. Dllerna heter alltså samma. Inga sökvägar är satta i Windows, så enligt Windowsregler skall ju program söka i den ega katalogen, System32 och tillsist genom sökvägen. Jag spånar ! En annan sak jag skulle kolla på är om det går att använda AddressOf Operatorn Det blir precis som du säger! Något kommer ihåg vilken dll som är körd. Startar jag med kort2 så blir det Testa att lägga in 2 DLL referenser i ditt program men ge dem olika Alias Som Oskar svarade för ett tag sedan lägg in båda dessa i ditt program. Fast fel! DLL:er cachas på namn, så de måste heta olika. Kalla dem för 1 och 2, och gör för övrigt som SvenPon sa, så skall det funka. Det verkar att funka om man namnnar om dll:en i kort2 biblioteket och gör en deklaration med ett annat alias och anropar resp. Verkar inte vara sådär våldsamt krångligt. Dll problem igen
Vad jag nu gör är att byta till ett bibliotek där dll:en finns och det funkar.
Problemet nu är att jag behöver använda samma dll fråm två olika bilbliotek på grund av dll är konstruerade så att de arbetar med data som finns i ett underbibliotek.
Tex:
Startbilbiotek Kassa och två underbibliotek Kort1 och Kort2
Innehållet i Kort1 och Kort2 är identiskt sånär som på en datafil som dll:en behöver.
Applikationen startar i Kassa och skiftar sedan till Kort1 biblioteket och använder den dll:en. Så lång allt frid o fröjd.
Sedan skiftar jag till Kort2 biblioteket för att använda den dll som finns där (samma namn)
men applikationen struntar blankt i att använda den dll:en utan envisas att använda dll:en i Kort1.
Jodå jag har bytt bibliotek, kollar med Curdir.
Skulle jag börja med Kort2 så funkar det men byter jag till Kort1 så använd ändå Kort2 dll:en.
Hoppas jag förklarat förståligt om inte så fråga.
Mvh
BoSv: Dll problem igen
andra DLL:er för att funka. Är den byggd i VB ?.
En DLL skall vara StandAlone i alla läge.
Kan tyvär inte hjälpa dig då jag inte förstår strukturen.Sv:Dll problem igen
Den dll jag anropar kan antingen befinna sig i biblioteket kort1 eller kort2. anledningen är att
resp dll pratar med två hårdvaror där den ena är ansluten till låt säga com1 och den andra till com2.
Man kan ju alltid tycka vad man vill om den konstruktionen men nu är det som det är och inget jag kan göra något åt. Så problemet ärr alltså att oavsett om jag byter till bilbiotek kort2 och anropar dll:en
så anropas ändå dll:en i kort1 om jag anropat den först
/BoSv: Dll problem igen
Princip skickar 1 detta gäller kort1 skickar 2 detta gäller kort2.Sv:Dll problem igen
Enligt mitt sätt att se det så skall alltså dll:en i kort1 anropas när jag skiftat till kort1 och dll:en o kort2 när jag skiftat till kort2.
Uppenbarligen är där någon hake för det funkar ju inte :) Men vad i hela friden är haken?Sv: Dll problem igen
mmm... verkar logiskt. Men är det inte så att programmet kommer ihåg
att sökt DLL ligger i kort1 efter att du kört kort 1 första gången.
Du kan testa att starta om programmet och börja med kort2 då skall den DLL:en köras.Sv:Dll problem igen
Läs om <b>AddressOf</b>Sv:Dll problem igen
den hela tiden. Så det verkar som Windows buffrar eller VB för den delen.
Frågan är bara om det går att komma runt det på något sätt. Sv: Dll problem igen
Sv:Dll problem igen
Döp Dll:en till Card.dll. Lägg en i varje mapp.
<code>
Option Explicit
Private Declare Function VBCard1 Lib "E:\ADBE\kort1\Card.dll" _
Alias "CardServ" (ByVal Servernamn As String)
Private Declare Function VBCard2 Lib "E:\ADBE\kort2\Card.dll" _
Alias "CardServ" (ByVal Servernamn As String)
</code>
Anropa antinge VbCard1 eller VbCard2Sv: Dll problem igen
/mickeSv:Dll problem igen
I Basic funktionen gör man ett select case och anropar resp ddll1 eller dll2.
Det är kanske inte dags att korka upp champagnen ännu men det verkar lovande. Återkommer med slutrapport
Tackar för tipsen!
/Bo