<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">Am 13.12.2017 03:04 schrieb "Dennis" <<a href="mailto:dec12@avidsoft.com.hk">dec12@avidsoft.com.hk</a>>:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I am converting my windows 32 program to 64 bit.<br>
It compiled with lazarus without any problem.(fpc 3.0.2)<br>
<br>
I also compile the dll that is used, into a 64 bit dll.<br>
<br>
However, when I ran the 64 bit program, windows reported 'cannot find the entry point "the routine name in the dll" (the dll file name)<br>
<br>
In the routine of the dll, there is an out parameter of type WideString,<br>
<br>
could this be the problem?<br>
<br>
If not, what else could be the cause of the problem?<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">Considering the code you gave I really wonder how that ever worked... Did you set the calling convention using the $calling directive? Otherwise you need to add it to every function. Also you're on the eager side by using the "name" clause for the external as you can be sure then what name is used. Lastly are you sure that the DLL you're dealing with is a 64-bit library? </div><div dir="auto"><br></div><div dir="auto">Maybe you should take a look at fpSpreadsheet which allows you to work with Excel files of different versions directly and does not need a library. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div></div></div>