<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">Am 13.12.2017 18:13 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"><div class="quoted-text"><br>
<br>
Sven Barth via fpc-pascal wrote:<br>
</div><div class="quoted-text"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am 13.12.2017 11:39 schrieb "Dennis Poon" <<a href="mailto:dennis@avidsoft.com.hk" target="_blank">dennis@avidsoft.com.hk</a> <mailto:<a href="mailto:dennis@avidsoft.com.hk" target="_blank">dennis@avidsoft.com.hk</a><wbr>>>:<br>
<br>
<br>
<br>
Just for clarification: is the excel_xp.dll written by you or by a 3rd party? Or are you talking about a different library written by you? Because in the latter case the interfacing choice between your program and *that* library nicht be the culprit.<br>
<br>
</blockquote></div>
Let me explain. My program is a 32 bit program that collects real time stock prices and group the prices by each minute into Open, High, Low, Close, Volume of that minute. The program needs to add these rows of open,high,lose,close,volume in real-time to an opened Excel Spreadsheet (that the end users will write his own VBA formula to manipulate the rows I add).  To do so, I need to use Microsoft OLE Automation but I don't know how to do it in Lazarus. But there is a component in Delphi that uses OLE Automation to update an excel spreadsheet, so I wrote my own excel_xp.dll in Delphi to use that TExcelApplication component (from Delphi) which is then called by my 32-bit lazarus program.  Everything worked in 32-bit.<br>
<br>
Since there is no FREE 64-bit Delphi IDE available, before I purchase a 64-Bit delphi, I need to make sure my Lazarus program can compile to 64 bit windows program and can call a 64-bit windows DLL so I use Lazarus 64 bit to write a stub 64-bit windows dll to be called by my 64-bit Lazarus program. However, on running, it complained "Cannot find entry point of a routine ", which never happened when everything was 32-bit.<br>
<br>
My question is why the exact routine definitions worked in 32-bit but did not work in 64 bit.<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto"><div dir="auto" style="font-family:sans-serif">Okay, that explains things a bit more. </div><div dir="auto" style="font-family:sans-serif"><br></div><div dir="auto" style="font-family:sans-serif">May I ask you to provide a small example consisting of program and library (source only) that works in 32-bit, but fails in 64-bit? Try way I can check myself what is going on as I have a Delphi starter on my 64-bit Windows as well. Though it will be the weekend till I'll have the time to look at it.</div></div><div dir="auto"><br></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">
Someone might asked why I did not compile the TExcelApplication directly in Lazarus to do without the linked dll. I tried, it just won't compile and the task of translating the huge source files from Delphi to FPC is too daunting.</blockquote></div></div></div><div dir="auto"><br></div><div dir="auto"> What kind of errors did you face? </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven</div></div>