RizlaUK
02-16-2008, 06:16 PM
i having a nightmare here,
trying to make (yet another) dll and im having this strange error passing strings to the dll file,
it seems that if i pass any more than 1 string to the dll it just gets lost, PB dosent seem to be reading it, iv gone through the PB forums and couldent find anything so i thought i would ask here.
i made this quick demo to test there was nothing in my dll causing a problem
ProcedureDLL.s DatePickerDialog(Date$, WinTitle$, BannerText$, DateType, MonthType, DayType, hWnd)
#EOL=Chr(10)+Chr(13)
test$="WinTitle: "+ WinTitle$ +#EOL
test$+"SelDate: "+ Date$ +#EOL
test$+"BannerText: "+ BannerText$ +#EOL
test$+"DateType: "+Str(DateType)+#EOL
test$+"MonthType: "+Str(MonthType)+#EOL
test$+"DayType: "+Str(DayType)+#EOL
test$+"hWnd: "+Str(hWnd)+#EOL
MessageRequester("Recived Args",test$,0)
EndProcedure
and called it from AMS with
--Test
WinTitle="Date Picker Test"
SelDate="qwerty"
BannerText="Bannet Text Test"
DateType=1
MonthType=1
DayType=1
hWnd=Application.GetWndHandle()
Args="\""..WinTitle.."\", \""..SelDate.."\", \""..BannerText.."\", "..DateType..", "..MonthType..", "..DayType..", "..hWnd
Dialog.Message("Sent Args", Args);
result = DLL.CallFunction("AutoPlay\\Docs\\TEST.dll", "DatePickerDialog", Args, DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL);
Dialog.Message("Notice", result);
only the 1st string gets passed, the 2nd and 3rd just seem to get lost, and the intergers also get passed (after the lost strings)
has anyone else encountered this ?
could someone please run the above code and tell me it works so i can take a hammer to this pc and have a excuse to get a new one for me BDay ;)
trying to make (yet another) dll and im having this strange error passing strings to the dll file,
it seems that if i pass any more than 1 string to the dll it just gets lost, PB dosent seem to be reading it, iv gone through the PB forums and couldent find anything so i thought i would ask here.
i made this quick demo to test there was nothing in my dll causing a problem
ProcedureDLL.s DatePickerDialog(Date$, WinTitle$, BannerText$, DateType, MonthType, DayType, hWnd)
#EOL=Chr(10)+Chr(13)
test$="WinTitle: "+ WinTitle$ +#EOL
test$+"SelDate: "+ Date$ +#EOL
test$+"BannerText: "+ BannerText$ +#EOL
test$+"DateType: "+Str(DateType)+#EOL
test$+"MonthType: "+Str(MonthType)+#EOL
test$+"DayType: "+Str(DayType)+#EOL
test$+"hWnd: "+Str(hWnd)+#EOL
MessageRequester("Recived Args",test$,0)
EndProcedure
and called it from AMS with
--Test
WinTitle="Date Picker Test"
SelDate="qwerty"
BannerText="Bannet Text Test"
DateType=1
MonthType=1
DayType=1
hWnd=Application.GetWndHandle()
Args="\""..WinTitle.."\", \""..SelDate.."\", \""..BannerText.."\", "..DateType..", "..MonthType..", "..DayType..", "..hWnd
Dialog.Message("Sent Args", Args);
result = DLL.CallFunction("AutoPlay\\Docs\\TEST.dll", "DatePickerDialog", Args, DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL);
Dialog.Message("Notice", result);
only the 1st string gets passed, the 2nd and 3rd just seem to get lost, and the intergers also get passed (after the lost strings)
has anyone else encountered this ?
could someone please run the above code and tell me it works so i can take a hammer to this pc and have a excuse to get a new one for me BDay ;)