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?