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


C DLL i VB.net

Postades av 2007-02-27 17:48:24 - Magnus Lasses, i forum vb.net, Tråden har 10 Kommentarer och lästs av 816 personer


Hej!

Jag har en DLL skriven i C som jag ska prata med i VB.NET

Jag har definierat upp funktionen som följer

Public Declare Function Write Lib "test.dll" (<MarshalAs(UnmanagedType.LPArray)> ByVal Data() As Char, ByVal DataLen As Integer, ByVal Id As Integer) As Integer


Den ser så här ut i C dll:en
int write(unsigned char *Data, inte DataLen, int Id);


Mitt problem är att när jag skickar säg en sträng med "FFFF" så får DLL:en in "46464646" dvs jag får in charvärdet för F:en

Hur ska jag göra för att DLL:en ska få in F:en?

Många tack på förhand!


Svara

Sv: C DLL i VB.net

Postades av 2007-02-27 19:15:10 - Thomas Vanhaniemi

Bara en liten notering, char i C är det samma som Byte i .NET, så du ska skicka in Byte, inte Char.


Svara

Sv: C DLL i VB.net

Postades av 2007-02-28 10:10:22 - Magnus Lasses

Jag har ändrat till Byte, fortfarande samma problem =/


Svara

Sv:C DLL i VB.net

Postades av 2007-02-28 16:17:23 - Thomas Vanhaniemi

Kan du C?
Vad vill du göra i C funktionen?

Och decimalvärdet för F är inte 46, utan 70. Menar du kanske att du får in 46 i Hexadecimal form? 46 hexadecimalt är 70 i decimalt och 70 i ASCII representationen är 'F'.


Svara

Sv: C DLL i VB.net

Postades av 2007-02-28 16:53:35 - Oskar Johansson

En variant som jag är lite förtjust i är att du skapar ett till lib, fast den här gången i C++/CLI. Då kan du enkelt överbrygga problemet med att anropa "vanlig" c från .net och vice versa.


Svara

Sv: C DLL i VB.net

Postades av 2007-02-28 16:55:40 - Magnus Lasses

Japp jag kan C men den dll:en som jag har är utan källkod så jag kan tyvärr inte gå in och skriva om i den. Dock så har jag ett program som rapporterar ut från DLL:en vad den får in.


Det är hexvärdet ja.


Svara

Sv:C DLL i VB.net

Postades av 2007-02-28 16:56:55 - Magnus Lasses

Dvs jag får bygga någon slags wrapper DLL i C++??


Svara

Sv: C DLL i VB.net

Postades av 2007-02-28 17:36:45 - Thomas Vanhaniemi

Så vad är det funktionen gör egentligen? Fungerar det inte? Om du får ut F i hexadecimalt så har ju funktionen tagit emot rätt data.

Svårt att säga vad som kan vara fel, kan just nu inte komma på andra saker...


Svara

Sv:C DLL i VB.net

Postades av 2007-02-28 17:59:54 - Magnus Lasses

Nej jag får ju inte in "F" i DLL:en jag får in "46"

Det är en DLL som jag tyvärr ej har källkod till, dock så har jag ett debug program till DLL:en som ger mig information om vad den får in till sig.

Så det blir något slags fel i teckenkodningen mellan vb.net och C och frågan är hur man säger till vb.net att skicka rätt teckenkodning till C? :)


Svara

Sv: C DLL i VB.net

Postades av 2007-02-28 18:22:30 - Thomas Vanhaniemi

Alltså, får funktionen in "46464646" som en teckensträng? Om den får in 46464646 som hex är det ju korrekt då det blir F när det "tolkas" till ASCII. Är det så att det du vill göra inte fungerar, eller baserar du en slutsat på att det inte fungerar med hjälp av verktyget du använder för att kika in i funktionen?

Ser inte riktigt problemet då en char i C och C++ egentligen enbart innehåller det numeriska värdet för tecken och betydelsen fås först då man gör något med detta värde (antingen skriver man ut det som en char eller som en decimal etc...).

Vad är det funktionen du anropar ska göra som den inte gör? Vad blir fel, förutom att du ser att den får in värdena FFFF i hexadecimal representation?


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 725
27 958
271 751
330
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