Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi!
I just took the first few steps in writing a little DLL that should be called from Excel/VBA, and I stumbled upon some wierd behaviour. The function in my DLL is declared as int __stdcall foo( const char *t ); and is used in VBA via Declare Function foo Lib "C:\foo\foo.dll" (ByVal t As String) As Long I noticed that foo didn't work internally as I expected and added writing *t to a file on each call of foo as a debugging measure. According to this output, only the first character of String t seems to be passed to foo when called directly from Excel (putting =foo("xyz") in a cell). However, if I wrap foo with Function call_foo(t As String) As Long call_foo = foo(t) End Function and use the formula =call_foo("xyz"), everything works ok. Any ideas? Regards, Matthias PS. Any other hints to "VBA calls DLL" documentation are appreciated |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Passing Arguments in Excell | Excel Worksheet Functions | |||
Passing arguments to userforms | Excel Programming | |||
Passing arguments to VB Function | Excel Programming | |||
Passing Arguments | Excel Programming | |||
Passing arguments to a sub routine... | Excel Programming |