Converting 32 bit Addin to 64 bit

Add-in Express™ Support Service
That's what is more important than anything else

Converting 32 bit Addin to 64 bit
 
Richard Stevens




Posts: 63
Joined: 2007-01-24
Hi Andrei and team,

We have a fully working 32 bit DLL with extensive functionality that we have developed over the last 2 years or so. It is working in Outlook 2010, 2013 and 2016 with no issues.

We now have our first potential client who have a handful of users with 64 bit Office installed.

I have the DLL compiling OK in 64 bit mode (Delphi Berlin). However, as soon as Outlook runs and shows the initial form, it crashes with an Access Violation the moment the user moves the mouse over the form we display on startup.

If we use the keyboard instead of the mouse to press the necessary buttons on the form, we can go through into Outlook and see emails, etc, but the moment the mouse is moved inside the Outlook window area it crashes again.

The only error I'm getting is c00000005 ACCESS_VIOLATION.

Any ideas at all as to where I should start looking to try and track down the cause?

Thank you,


Richard

User added an image

User added an image
Posted 31 May, 2017 06:41:51 Top
Andrei Smolin


Add-in Express team


Posts: 18825
Joined: 2006-05-11
Hello Richard,

We suppose your add-in or a component that you use isn't prepared to be 64bit. Say, if you have a method accepting a window handle as Cardinal, it will crash when in 64bit because the window handle is 64bit in this case. In short, we suppose you have some type(s) used incorrectly.


Andrei Smolin
Add-in Express Team Leader
Posted 31 May, 2017 07:01:49 Top
Richard Stevens




Posts: 63
Joined: 2007-01-24
Thank you Andrei.

We have hundreds of forms and data modules and a large number of 3rd party components (DevExpress, Raize, TMS etc). Do you have any tips on how to track down where the issue might be?

Regards
Richard
Posted 31 May, 2017 08:01:07 Top
Andrei Smolin


Add-in Express team


Posts: 18825
Joined: 2006-05-11
Richard,

You could start with debugging your add-in and third-party components. You may get an exception which is a dim indication of the location where the real issue occurs.

EurikaLog may be of help as well.

You can also create a new add-in and move components and blocks of your code to the new add-in one by one.


Andrei Smolin
Add-in Express Team Leader
Posted 31 May, 2017 08:31:58 Top
Richard Stevens




Posts: 63
Joined: 2007-01-24
Fixed! For info, it was the EmbeddedWB Web Browser component - now discontinued. It compiled ok in 64 bit but obviously suffered from the problems you described. Even just having the components in the application was enough to make it fail, even if you never opened a form with a Web Browser component on it.

Now replaced throughout our application with TWebBrowser, which isn't quite as powerful but good enough.


Thanks for the pointers,
Richard
Posted 31 May, 2017 16:35:00 Top
Andrei Smolin


Add-in Express team


Posts: 18825
Joined: 2006-05-11
Congratulations!


Andrei Smolin
Add-in Express Team Leader
Posted 01 Jun, 2017 02:45:10 Top