View Full Version : Additional information about call DLL-Parameters in the manual
NewsArchive
03-28-2010, 02:44 AM
Hi Friedrich,
could you add a sentence like the following to explanation of the
"Function Parameters" in the CALL DLL section:
If you want to use a Variable as an out parameter, you must NOT use any
blanks between the comma and the variable name.
It took me about two hours to find out, why one call worked as expected
and another didn't. It was just a problem of one lonley blank character....
Markus
NewsArchive
03-29-2010, 09:15 AM
Hi Markus,
> could you add a sentence like the following to explanation of the
> "Function Parameters" in the CALL DLL section:
>
> If you want to use a Variable as an out parameter, you must NOT use any
> blanks between the comma and the variable name.
>
> It took me about two hours to find out, why one call worked as expected
> and another didn't. It was just a problem of one lonley blank
> character....
Hmm, I think am not seeing this problem. We have developed a demo project
and it seems to work as expected, even with blanks between the comma and
the variable name.
http://www.lindersoft.com/projects/CallDLLTest.zip
The CALLTHISFUNCTION function in the DLL modifies the value of the passed
Para1 and Para3 variables, it does not change the value of the passed Para2
variable.
Before the call to the DLL the variable values are:
LPBUFFER1 value: Para1 (original value)
LPBUFFER2 value: Para2 (original value)
LPBUFFER3 value: Para3 (original value)
After the call, the values are:
LPBUFFER1 value: Para1 (changed in DLL)
LPBUFFER2 value: Para2 (original value)
LPBUFFER3 value: Para3 (changed in DLL)
Would it be possible for you to modify the project in such a way that it
fails?
Thanks,
Friedrich
NewsArchive
03-29-2010, 09:16 AM
Hi Friedrich,
could make a test DLL with *LONG as out param? It seems not to be a
problem with *STRING and *CSTRING.
Markus
NewsArchive
03-29-2010, 09:18 AM
An additional Inforamtion:
My DLL has the following parameters:
*STRING
*STRING
*LONG
If I use
%A%,%B%,%LENGTH%
it works, but if I use
%A%, %B%, %LENGTH%
it doesn't works.
Markus
NewsArchive
03-29-2010, 09:18 AM
Markus,
> *STRING
> *STRING
> *LONG
>
> If I use
>
> %A%,%B%,%LENGTH%
>
> it works, but if I use
>
> %A%, %B%, %LENGTH%
>
> it doesn't works.
Yes, you are right. It does not work if there is a "blank" between the
comma and the (*LONG) variable name. We'll fix this in the compiler.
Thanks,
Friedrich
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.