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 problems

Postades av 2001-10-04 14:38:00 - Martin Modig, i forum visual basic - allmänt, Tråden har 12 Kommentarer och lästs av 480 personer

Godagens alla kanske någon kan hjälpa mig

Är så att jag använder en dll som är skriven i c++ från VB och det funkar kalas utom en sak nämligen String referencer. Problemet är att dll vill ha en string reference som den skall skriva i (funktionen är en void dvs den retunerar inget). Problemet ligger i att VBs string och c++ Char* inte hanteras på lika sätt. Någon som vet hur man kommer runt detta??

/Martin


Svara

Sv: Dll problems

Postades av 2001-10-04 14:50:00 - Sven Åke Persson

Hej
Du skall skicka din sträng ByVal.

Dvs testa att ändra i DLL deklarationen till ByVal ....... As String

Mvh
Sven


Svara

Sv: Dll problems

Postades av 2001-10-04 15:00:00 - Martin Modig

Hmm jo men då skickar den ju bara in värdet, kruxet är ju att dllen skriver i referencen och sedan skall jag kunna använda det som skrevs i vb programet, det går ju inte om jag skickar ByVal för då skickas ju bara en kopia in ??

/H


Svara

Sv: Dll problems

Postades av 2001-10-04 15:41:00 - Sven Åke Persson

Hej
Oki jag förstår .Skall kolla jag har haft mycket
problem med detta också.

Problemmet ligger i Null terminated string.

Skall läsa på , återkommer.

DS


Svara

Sv: Dll problems

Postades av 2001-10-04 16:09:00 - Sven Åke Persson

Hej igen

Testa att först lägga till ett Null tecken till din stringvariabel

minstring & Chr$(0) och därefter skicka den till din DLL

spånar
Sven


Svara

Sv: Dll problems

Postades av 2001-10-04 16:12:00 - Mikael Wedham

Jag har för mig att ByVal skickar en sträng som pekare och ByRef skickar den som värde, bara för att krångla till det för dem som vet hur det funkar. Testa att skicka ByVal MEN!!! du måste fylla den först, med så många tecken du behöver. Är det 255 tecken så kör först

dim x as string
x=Space(255)
funktion(ByVal x)

Skall funka

/m


Svara

Sv: Dll problems

Postades av 2001-10-04 16:23:00 - Martin Modig

JÄTTE TACK, jag är evigt tacksam var ju bara att man var tvungen att fylla stringen först

/H

(men ByRef är ju reference och ByVal är värdet =)


Svara

Sv: Dll problems

Postades av 2001-10-04 16:35:00 - Sven Åke Persson

Hej
Skit bra Micke så var det

Ha det
Sven


Svara

Sv: Dll problems

Postades av 2001-10-04 16:38:00 - Sven Åke Persson

Hej
>Jag har för mig att ByVal skickar en sträng som pekare och ByRef >skickar den som värde

Tvärtom men principen är riktig

DS


Svara

Sv: Dll problems

Postades av 2001-10-04 16:58:00 - Patrik Löwendahl

NÄr det gäller API'er så är faktiskt det bakvänt ByRef skickar värdet och ByVal skickar en pekare ...

Fråga mig inte varför, men så är det ...


Svara

Sv: Dll problems

Postades av 2001-10-04 17:03:00 - Sven Åke Persson

Hej
>NÄr det gäller API'er så är faktiskt det bakvänt ByRef skickarvärdet
>och ByVal skickar en pekare ...


Är det verligen så ??. Logga in någon expert ,därmed inte sagt
att Patrik har fel.

API är väl normalt gjorda i C standard ??

fundersam
Sven




Svara

Sv: Dll problems

Postades av 2001-10-04 18:10:00 - Sven Åke Persson

Hej igen
Citerar vad jag hittat i ämnet, Faen vet om jag blev klokare.

Visual Basic uses a String datatyp known as BSTR.
A BSTR acts like a pointer,a variabel that contains
the memory location of the string it self.

All Windows API recognize LPSTR strings,which are a pointer
to standard null-terminated C strings (ASCIIZ string).

By default a Visul Basic string argument,or BSTR,is passed
by reference.This means that a pointer to the BSTR is passed.

Because the BSTR itself is a pointer,the argument that is passed
is actually a pointer to a pointer.

By default, a string argument is passed by reference ;
in other words,you are actually passing a
pointer to a pointer to the data.

If you send an argument,API LPSTR(a pointer to a null-terminated string)
pass the BSTR ByVal.Because a BSTR is a pointer to the first data byte
of a null-terminated string,it looks like an LPSTR to the API DLL procedure.

rätt citerat intygas
mvh
Sven


Svara

Sv: Dll problems

Postades av 2001-10-05 11:23:00 - Patrik Löwendahl

Enligt Daniel Appleman så är det så, Daniel Appleman har inte fel när det kommer till API'er.. .

Det står dessutom i din text sven att det är så ...



Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 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

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 627
27 953
271 710
951
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