Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Dll problem igen

Postades av 2005-03-10 12:11:42 - Bo Johansson, i forum visual basic - allmänt, Tråden har 11 Kommentarer och lästs av 832 personer

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.
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
Bo


Svara

Sv: Dll problem igen

Postades av 2005-03-10 13:26:01 - Sven Åke Persson

Ja där ser man.Det är helsjukt att bygga DLL:er som i sin tur skall ha
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.


Svara

Sv:Dll problem igen

Postades av 2005-03-10 13:52:29 - Bo Johansson

Det är inte så konstigt som det läter. Mitt exe program kallar på en dll för vissa uppgifter.
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

/Bo


Svara

Sv: Dll problem igen

Postades av 2005-03-10 14:00:26 - Sven Åke Persson

Men ! ? det måste väl bero på vilket argument du skickar till DLL:en eller.

Princip skickar 1 detta gäller kort1 skickar 2 detta gäller kort2.


Svara

Sv:Dll problem igen

Postades av 2005-03-10 14:16:42 - Bo Johansson

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.
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?


Svara

Sv: Dll problem igen

Postades av 2005-03-10 14:23:10 - Sven Åke Persson

Jag spånar !
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.


Svara

Sv:Dll problem igen

Postades av 2005-03-10 14:37:34 - Sven Åke Persson

En annan sak jag skulle kolla på är om det går att använda AddressOf Operatorn
Läs om <b>AddressOf</b>


Svara

Sv:Dll problem igen

Postades av 2005-03-10 14:37:53 - Bo Johansson

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
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.


Svara

Sv: Dll problem igen

Postades av 2005-03-10 14:47:32 - Sven Åke Persson

Testa att lägga in 2 DLL referenser i ditt program men ge dem olika Alias


Svara

Sv:Dll problem igen

Postades av 2005-03-10 15:31:47 - Sven Åke Persson

Som Oskar svarade för ett tag sedan lägg in båda dessa i ditt program.
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 VbCard2


Svara

Sv: Dll problem igen

Postades av 2005-03-10 16:36:01 - Mikael Wedham

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.

/micke


Svara

Sv:Dll problem igen

Postades av 2005-03-10 21:49:52 - Bo Johansson

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.
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


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 721
27 958
271 751
5 756
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies