Toon posts:

[qb/c]

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb de volgende c-prototype:

code:
1
2
3
4
5
6
7
8
9
10
int rx_recieve_pkt( int con, int * wLen, void * vBuf );
//
//  Pre:  - con bevat het nummer van de kaart (1..4)
//        - wLen bevat de pointer naar grootte van de ontvangstbuffer
//        - vBuf bevat de pointer naar de buffer
//  Post: - In wLen wordt de grootte van het aantal in vBuf 
//          gekopieerde bytes aangegeven
//        - vBuf bevat de gekopieerde bytes
//        - functieresultaat: 0 - OK, 1..3 Errorcodes
//


Deze functie wil ik in qbasic benaderen, ik heb reeds het volgende
gedaan:

code:
1
2
DECLARE FUNCTION cRxRecievePkt% CDECL ALIAS "_rx_recieve_pkt" 
_(BYVAL wCoNr AS INTEGER, wLen AS INTEGER, vBuf AS ??)


Ik weet nu niet hoe ik met de pointers die door de C-functie wordt teruggegeven moet omgaan in qbasic

De problemen zijn dus:
- Hoe moet ik de "void" declareren
- Hoe kan ik wLen uitlezen in QB
- Hoe kan ik vBuf uitlezen in QB

Alsjeblieft geen kinderachtige opmerkingen in de trant van "Waarom zou je dat in godsnaam willen" |:(

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Ik kan je niet helpen in QB, wel in VB. In visual basic (wat toch afgeleid is van QB) is een pointer naar void in principe een byref fixed string:

code:
1
2
3
void onzin(int iBufSize, void* pvBuf) {
 // doe iets
}


in vb aan te roepen als:
code:
1
2
3
4
5
6
DECLARE FUNCTION onzin  (BYVAL iBufSize AS INTEGER, vBuf AS String)


dim s as string * 128

onzin 128, s


In VB zijn er twee strings:

1 Unlimited (tot 4 GB) : null terminated.
2 fixed length: unterminated.



De tweede is goed te gebruiken als buffer voor c functies.


[disclaimer]
Voor alles geldt guaranteed 100% untested.
deze link bevat wat info over externe DLLS in VB


---

trouwens: waarvoor wil je het weten? ;-)

[ Voor 0% gewijzigd door kvdveer op 31-07-2002 11:48 . Reden: meer info / parse snapt [number] toch niet helemaal ]

Localhost, sweet localhost


Verwijderd

Topicstarter
Ik moet een C-library in QB kunnen benaderen

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Zomaar uit nieuwschierigheid:
Gaat het hier om QuickBasic, of om QBasic?

Localhost, sweet localhost


Verwijderd

Topicstarter
QuickBasic