Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 5 von 5

Thema: Pro Dave in Visual Basic

  1. #1
    Registriert seit
    14.03.2006
    Ort
    Berlin
    Beiträge
    42
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi Leute,

    bin neu bei euch und hätte mal eine Frage zu ProDaves Komfort.dll. Hoffe ich hab das richtige Forum getroffen.

    Und zwar wie lauten die Delarierungen für die Funktionen: "byte_boolean,Boolean_byte"

    Ich Bräuchte sie für Visual Basic.

    Ach ja ich benutze Prodave V 5.5

    mfg Bossi
    Zitieren Zitieren Pro Dave in Visual Basic  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    634
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Bitte mal die komplette Deklaration aus dem C-Header posten.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. #3
    Registriert seit
    14.03.2006
    Ort
    Berlin
    Beiträge
    42
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hier die komplette Definition aus der Header File

    ----------------------------------------------------------------------

    #ifndef KOMFORT
    #define KOMFORT
    #ifdef __cplusplus
    extern "C" {
    #endif
    /*************************************************************************/
    // error no, textbuffer
    int WINAPI error_message(int,char *);
    // kg value, float value
    int WINAPI kg_to_float(void *,void *);
    // float value, kg_value
    int WINAPI float_to_kg(void *,void *);
    // gp value, float value
    void WINAPI gp_to_float(void *,void *);
    // float value, gp value
    void WINAPI float_to_gp(void *,void *);
    // value, bit no
    char WINAPI testbit (unsigned char,unsigned char);

    // value, byte buffer
    void WINAPI byte_boolean (char,char*); <---------- Wichtig für mich ( wobei die erste variable die inputvar ist und die 2 die outputvariable

    Hier meine VB declaration ( funktioniert net)
    Declare Sub byte_boolean Lib "komfort.dll" (ByVal wert As Byte, wahr As Boolean)

    // byte buffer
    char WINAPI boolean_byte (char*);
    // 2byte kf/kh value S5
    unsigned short WINAPI kf_integer (unsigned short);
    // buffer, amount bytes to swab
    void WINAPI swab_buffer(void *, int);
    // dest buffer, source buffer amount bytes to copy
    void WINAPI copy_buffer (void *,void *, int);
    // ptr value, amount values, bytechange input, bytechange output
    void WINAPI USHORT_2_bcd(unsigned short *,unsigned short,char,char);
    // ptr value, amount values, bytechange input, bytechange output
    void WINAPI bcd_2_USHORT(unsigned short *,unsigned short,char,char);
    /*************************************************************************/
    Geändert von Bossi (14.03.2006 um 13:24 Uhr)

  4. #4
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    634
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von Bossi
    // value, byte buffer
    void WINAPI byte_boolean (char,char*); <---------- Wichtig für mich ( wobei die erste variable die inputvar ist und die 2 die outputvariable

    Hier meine VB declaration ( funktioniert net)
    Declare Sub byte_boolean Lib "komfort.dll" (ByVal wert As Byte, wahr As Boolean)
    Was bedeutet funktioniert nicht?
    Die Deklaration muss folgendermassen erfolgen:

    Declare Sub byte_boolean Lib "komfort.dll" (ByVal wert As Byte, wahr As Byte)

    Und der Aufruf so:
    Dim wahr(7) as Byte
    byte_boolean wert, wahr(0)
    If wahr(0) <> 0 Then ...
    If wahr(1) <> 0 Then ...
    If wahr(2) <> 0 Then ...
    If wahr(3) <> 0 Then ...
    If wahr(4) <> 0 Then ...
    If wahr(5) <> 0 Then ...
    If wahr(6) <> 0 Then ...
    If wahr(7) <> 0 Then ...

    Alternativ können die einzelnen Bits auch direkt ohne Aufruf der Funktion, d.h so:
    If (wert And 1) <> 0 Then ....
    If (wert And 2) <> 0 Then ....
    If (wert And 4) <> 0 Then ....
    If (wert And <> 0 Then ....
    If (wert And 16) <> 0 Then ....
    If (wert And 32) <> 0 Then ....
    If (wert And 64) <> 0 Then ....
    If (wert And 12 <> 0 Then ....
    abgefragt werden.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  5. #5
    Registriert seit
    14.03.2006
    Ort
    Berlin
    Beiträge
    42
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für deine schnelle Antwort ich horst hab in meiner deklaration denn Outputwert falsch deklariert.

    funzt jetzt.

    mfg Bossi

Ähnliche Themen

  1. OPC XML-DA und Visual Basic
    Von magmaa im Forum Hochsprachen - OPC
    Antworten: 18
    Letzter Beitrag: 14.05.2010, 09:34
  2. Visual Basic always on top
    Von demmy86 im Forum Hochsprachen - OPC
    Antworten: 10
    Letzter Beitrag: 21.09.2008, 20:36
  3. OPC und Visual Basic 6
    Von Daredevil im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 08.03.2005, 08:00
  4. OPC und Visual Basic 6
    Von Daredevil im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 05.03.2005, 19:59
  5. Visual Basic.Net
    Von Hamster im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 11.10.2004, 09:48

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •