You need to use a wrapper around the definitions and to define the string as a VB string. see example below
'Definition of buffer
Const ARRAYSIZE As Short = 1024 ' Size of read buffer
Dim ValueStr As New VB6.FixedLengthString(ARRAYSIZE)
'call to ilrd
ilrd(Dev, ValueStr.Value, ARRAYSIZE)
'defintion in VBIB-32.VB
' NI-488.2 DLL entry function declarations
Declare Function ibwrt32 Lib "Gpib-32.dll" Alias "ibwrt" (ByVal ud As Integer, ByRef sstr As String, ByVal cnt As Integer) As Integer
Declare Function ibrd32 Lib "Gpib-32.dll" Alias "ibrd" (ByVal ud As Integer, ByRef sstr As String, ByVal cnt As Integer) As Integer
I have downloaded a sam
ple simple GPIB project to the ni developers exchange.
if you forward me your email I will be happy to email you the zip.
Kevin@kotech.demon.co.uk