|
-
Nov 11th, 2000, 09:40 AM
#1
Thread Starter
Lively Member
haha, you're right
Maybe I was a little bit tired...
but that wasn't the original problem... I was trying to find an anwser to it by this way.
Here is the real problem:
I'm using a dll that uses for example the function "UseDll"
I have this declaration in a module
Public Declare Function UseDll Lib "MyLib.dll" (ByRef test As String, ByVal longueur As Integer, ByVal Usage As Integer) As Integer
This is a real C dll, not an active X.
So, if I use it with:
dim test as string
dim Usage as integer
dim longueur as integer
dim use as integer
test="This is a test that I'm doing"
Usage = 1
longueur=0 'this is not important when Usage is 1
use=UseDll(test,longueur,Usage)
then, the string "test" will be modified, and the lenght of this string will be "use"
The problem is, when I execute this, use=42 BUT in vb I get that len(test)=15, so, if label1.caption=test I will only see the first 15 characters of "test"
I think there is a character in the string that tells vb that the end of the string is charater 15...
Just by the way, I would get the same problem in C with
printf("%s",test);
but, since this in an array, I can see all the characters with a loop like:
for(i=0;i<use;i++)
printf("%c",test[i];
After that I called it once, I want to call it once again but this time with
Usage=2
longueur=use '42 in our example
use=UseDll(test,longueur,Usage)
but I don't want to call it immediately after the first call, so I must have the first string "test" (array of "use" characters) stored properly on my hard drive.
Finally, I must find a way to get all the 42 characters, not only 15...
Any idea or suggestion?
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|