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


Parametrar till en DLL

Postades av 2002-07-19 09:08:48 - Bo Johansson, i forum visual basic - allmänt, Tråden har 12 Kommentarer och lästs av 497 personer

Jag skall komunicera med en Dll. I utvecklingsmiljön fungerar det perfekt
men i kompilerad form får jag returkod från dll:en att det är felaktiga parametrar.
Funktionen är deklarerad så här:
Private Declare Function VBCardServerControl Lib "AurDll" Alias "CardServerControl" (ByVal Servernamn As String, ByVal KassaId As Integer, ByVal Kontrolltyp As Integer) As Integer

Anropet jag gör är så här:
CardServerControl = VBCardServerControl(Servernamn, KassaId, Kontrolltyp)

Jag har rätt deklarerade varibler, sträng , integer.

Några ideér?
/Bo


Svara

Sv: Parametrar till en DLL

Postades av 2002-07-19 09:39:25 - Sven Åke Persson

hej
Det var lurigt. En sak som jag fastnade för är
att du har samma namn i anropet som i deklarationen
Så gör aldrig jag.Vet inte om det har någon betydelse.
Testa
Dim sNamn As String,kId As Integer , kontroll As Integer
Dim retVal As Long

retVal = VBCardServerControl(sNamn, kId, Kontroll)

Tror att returvärdet är Long om Dllen är gjord i Delphi eller C
så betyder Integer detsamma som Long i VB
En anna fråga hur kompilerar du P code Fast eller Small

spånar
Sven


Svara

Sv: Parametrar till en DLL

Postades av 2002-07-19 09:48:42 - Raderat konto

Hej, hur vet jag vilka parametrar och vart dom ska in i en dll jag inte vet nått om? finns det program som kan kolla det?

Undrar Benny (som numera syns*s*)


Svara

Sv: Parametrar till en DLL

Postades av 2002-07-19 10:55:24 - Sven Åke Persson

Hej
Du ser det i Deklarationen,utan den går det inte att lista ut.
Ex,
Private Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA" (ByVal hWnd As Long, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As Long) As Long

I Vb skall du alltid skicka argument ByVal. (nästan alltid det finns
några undantag)

Sven


Svara

Sv: Parametrar till en DLL

Postades av 2002-07-19 11:03:27 - Raderat konto

Ok, men jag menar en dll som jag inte vet nått om, finns det nått program som kan "öppna" en dll så man ser vilka parametrar den behöver?

vad står Byval för då?


Svara

Sv: Parametrar till en DLL

Postades av 2002-07-19 11:24:45 - Niklas Jansson

Om du har Visual Studio skall det finnas något som heter typ Api Viewer. Där skall man kunna hitta info för all API. Annars har jag för mig att det inte går.

ByVal betyder att man skickar info som värde ist. för referens:

Sub Test1 (ByVal Info As Long)
Info=3
End Sub

Sub Test2 (ByRef Info As Long)
Info=3
End Sub

Sub Testa ()
Dim a As Long
a=10
Test1 a
'a är fortfarande 10
test2 a
' nu är a 3
End sub

/Niklas Jansson


Svara

Sv: Parametrar till en DLL

Postades av 2002-07-19 11:36:08 - Raderat konto

Ang dll:en.

Om nisse pettersson i luelås djupa skogar har hackat ihop en dll, som jag inte vet ett skit om som heter "harkel.dll" och nisse som inte har nått telefonnr eller annat sätt jag kan nå honom...Hur kan jag då se vad den dll:n innehåller? är det omöjligt?

Byval:
Om jag skriver så här då?

Sub Test1 (Info)
Info=3
End Sub

alltså utesluter byval eller annat?


Svara

Sv: Parametrar till en DLL

Postades av 2002-07-19 11:52:40 - Niklas Jansson

>Hur kan jag då se vad den dll:n innehåller? är det omöjligt?

Mer eller mindre.

>alltså utesluter byval eller annat?
Byref är default.

Sub Test1 (Info)
Info=3
End Sub

är samma sak som

Sub Test1 (ByRef Info)
Info=3
End Sub

/Niklas Jansson


Svara

Sv: Parametrar till en DLL

Postades av 2002-07-19 11:56:15 - Niklas Jansson

>I Vb skall du alltid skicka argument ByVal. (nästan alltid det finns
några undantag)

Jag kommer inte riktigt ihåg hur det är med VB, men större datatyper bör ofta skickas som ByRef. Annars måste man kopiera ett nytt objekt och det tar tid.

I c++ skickar man det som

void Funktion (const &Klassnamn)

så fungerar det som ett värde, men skickas som referens. Ofta det absolut bästa.

/Niklas Jansson


Svara

Sv: Parametrar till en DLL

Postades av 2002-07-19 12:02:47 - Sven Åke Persson

Hej igen
Det är en ganska krånlig historia att förklara.
Så här är grundprincipen. Man kan skicka ett argument
ByReference eller ByVal. ByRef blir det om man inte skriver
något annat. Det betyder att man skickar en pekare
dvs en minnesadress till variabeln , alltså ett nummeriskt
värde tex 6489784 ,där finns varabeln lagrad.

ByVal skall man i princip alltid använda från VB . Då
skickar man det exakta värdet på variabeln.
Tex Dim tmpStr As String
tmpStr = "Sven"
Då skickar jag "Sven" inte minnesadressen till "Sven"

nisse pettersson :s Dll blir lurigare ,ser ingen annan råd
än att kolla den med ett specialprog QuickView (tror jag det hette)
som man kan specialgranska dll:er med ,någon kan kanske fylla i med
något program som läser dll:er.

DS



Svara

Sv: Parametrar till en DLL

Postades av 2002-07-19 14:26:49 - Raderat konto

Ok, jag ber att få tacka alla för ännu en lärorik liten kurs:-)

Ang dll:er så är ni välkomna att maila mig om ni kommer på något:)


Svara

Sven. Parametrar till en DLL

Postades av 2002-07-19 14:52:43 - Bo Johansson

Sven, genom att byta ut integer variabler mot string så funkar det.
Är det så att vb har något speciellt hyss för sig med integer?
/Bo


Svara

Sv: Sven. Parametrar till en DLL

Postades av 2002-07-19 16:10:19 - Sven Åke Persson

Hej
>Sven, genom att byta ut integer variabler mot string så funkar det.

Låter lite mysko i mina öron.Det enda jag kommer på är att
du skickar String ByVal istället för att skicka pekare Long eller Integer
Du kan också i Deklartionssatsen skriva As Any då blir det
det som VB har bestämt
Krystat men !
DS


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 607
27 953
271 705
546
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