Toon posts:

[VB] sprekende van 'types' en 'functies' etc

Pagina: 1
Acties:

Verwijderd

Topicstarter
code:
1
2
3
Compile error:

Only public user defined types defined in public object modules can be used as parameters or return types for public procedures of class modules or as fields of public user defined types

Zou er dit iemand kunnen vertalen in het nederlands? :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Class:
------
Public Function GetPacket%(Buffer As WSABUF)
Dim dwBytesRet&, dwFlags&

  If (WSARecv(sock, Buffer, 1, dwBytesRet, dwFlags, Null, Null) = SOCKET_ERROR) Then
    Dim buf As String * 200
    Call MsgBox("WSARecv failed. Code " & WSAGetLastError(), vbCritical, "Alert!")
  End If
  Buffer.len = dwBytesRet
  GetPacket = 0
End Function

Module:
-------
Public Type WSABUF
  len As Long       '/* the length of the buffer */
  buf As Long       '/* the pointer to the buffer */
End Type

Dat was een stuk van die code... Ik krijg die fout regelmatig, maar nu MOET ik wsabuf doorgeven. Enig idee hoe dat te doen?

Dan nog iets totaal anders:
code:
1
2
3
4
5
Public Sub Initialize(wsb&)
  Dim wab As WSABUF: Call memcpy(wab, wsb, 8) ' copy the wsb that comes in to a new location (so we can edit it)
  Call memcpy(Buffer.buf, wab.buf, wab.len) 'copy the buffer to the new location
  Buffer.len = wab.len
End Sub

Enige uitleg:
wsb is een pointer (long dus) naar een geheugenruimte die WSABUF voorstelt. Buffer is van het type long+string.

Now advanced coders!!! :)

Verwijderd

Op dinsdag 30 oktober 2001 14:07 schreef KaReL het volgende: Now advanced coders!!! :)
Advanced coders wagen zich hier niet aan en gebruiken een taal waar hij goed voor is , het doen van apicalls met pointers is niet een van die dingen voor vb (helaas?), Je kan het met flink wat getruk en geklooi waarschijnlijk wel aan de praat krijgen maar de onderhoudbaarheid/stabiliteit van je code is ver te zoeken dan. Wellicht een mooi tijdstip om over te stappen op C/C++ als je je met dit soort dingen gaat bezig houden?

Verwijderd

Topicstarter
weet ik, weet ik. Ik code normaal ook in C voor deze zaken, maar die gast kan niets van C dus moest ik dat converteren naar Visual Basic (zal ie ook niets van snappen maar ja).

Dus, wie waagt zich eraan? :)

  • tus
  • Registratie: November 2000
  • Laatst online: 05-07-2012

tus

Ik niet, tenzij ik het hele project mag zien. Want zo op het eerste oog ziet het er goed uit.

Verwijderd

Topicstarter
Contacteer me straks (over een dikke 3 uur op icq). Ik zal het je dan doorsturen (indien je nog interesse hebt natuurlijk).

Local time: 15.00 GTM+1

Verwijderd

Gewoon doen wat de compiler zegt:

Je type in je Public Object Module (lees: Class) plaatsen...

Let op: je Class is pas Public als je 'm in een DLL bakt!
Let op no2: je moet het Type byref doorgeven (weet ik, is default, maar wel zo netjes om het er ff bij te zetten.)

  • tus
  • Registratie: November 2000
  • Laatst online: 05-07-2012

tus

Ik heb geen ICQ, maar je mag het gerust mailen naar me (als het project niet groter is dan 1MB).

Verwijderd

Topicstarter
Pffff & danku george.

Visual Basic SUX! :r

dan maar dllke maken he :(

  • steenz
  • Registratie: Oktober 2000
  • Laatst online: 13-09 16:22
Op dinsdag 30 oktober 2001 14:07 schreef KaReL het volgende:
Zou er dit iemand kunnen vertalen in het nederlands? :)
Zou iemand dit kunnen vertalen in het Nederlands?
Zo goed ;)

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16-09 23:59
Waarom zet jum niet in een module dan?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Pc123
  • Registratie: Oktober 2000
  • Laatst online: 15-09 20:53
Op dinsdag 30 oktober 2001 15:46 schreef steenz het volgende:

[..]

Zou iemand dit kunnen vertalen in het Nederlands?
Zo goed ;)
:Z
Class:
------
Waarom moet ie in een class staan? Neem gewoon een module.
Pagina: 1