Diese Seite mit anderen teilen ...

Informationen zum Thema:
WinDev Forum
Beiträge im Thema:
Erster Beitrag:
vor 4 Jahren, 7 Monaten
Letzter Beitrag:
vor 4 Jahren, 7 Monaten
Beteiligte Autoren:
Peter Holemans, Piet van Zanten, Fabrice Harari

[WB18] [SOLVED] 32 bit API/CallDLL Problem from WebDev

Startbeitrag von Peter Holemans am 10.12.2013 21:56


I have a little test program created in WD that calls some API's in a 32-bit dll and that works. Now when integrating this in my WebDev (AWP) application deployed to a Win2008R2 64 bit server I cannot get the API to execute.

I have the impression that the WebDev server executes in 64 bit mode and therefore cannot make the 32 bit DLL call. API/CallDLL32 always returns a null handle/pointer... There is no 64 bit version of the DLL so I need the 32 bit version.

Peeking around in WebDev I found nowhere to force a website to execute in a certain mode (except about deflagging the 64 bit compilation errors in the configuration description)...

[UPDATE 2013/12/11]
I have setup now the exact same code on my WD18 and my WB18 project:
- Run from WD (GoGo Test mode) -> Works like a charm and the API is executed correctly
- Run from WB (GoGo Test mode) -> API returns a null handle and the error message states "Erreur au chargement de la DLL 'XMLInterop.dll'
Détail de l'erreur système : XMLInterop.dll is not a valid Win32-application."

It looks like WB and WD implement the WLanguage "API()/CallDLL32()" function differently!

Anybody already bumped into a similar problem?

TIA for your feedback!


Peter H.


Re: [WB18] 32 bit API/CallDLL Problem from WebDev

Hi everybody,

I'm back, after some interesting time fixing than replacing my computer.... :-(

So, peter, about your problem:
in a 64 bit program, you cannot call a 32 bit dll (and the contrary)...
Webdev server cannot be SWITCHED from 64 to 32, but can be INSTALLED in either mode, on a 64 bits servers like yours (AFAIK, it's an option offered in the install process). So the only solution I see for your problem would be to uninstall webdev server, then reinstall it in 32 bits.

Best regards

von Fabrice Harari - am 11.12.2013 12:12

Re: [WB18] 32 bit API/CallDLL Problem from WebDev

Solution in progress...

I received the following reply from PCSoft Support:
Hi Peter,
You have installed the 64 bits version WAS.
You need to install the 32 bits version.

OK, that would explain my assumption but than my next question is how to install this...
I have a few questions that remain unanswered however…
1) Development machine
On my development machine (Win7 64bit), the API won’t execute either from WB (but will from WD) upon a GO.
So, is there a way to change the WAS server on the development machine to a 32 bit version so I can test the same API call when doing a ‘GO’?
2) Test server
Currently we have a test server (WAS limited to 10 connections) on which we test before moving anything to production. This is a Windows Server 2008 R2 64 bit machine.
I went again through the WAS installer (10 connections) downloaded from the PCSoft site on this server, but found nowhere an option to install the 32 bit version.
Can anybody tell me how I can set up the 32 bit 10 connections test WAS server on this 64 bit Windows test server?
3) Production server
The reply from PCSoft implicates we need to downgrade the 64 bit WAS server on that Win2008R2 64 bit machine to a 32 bit WAS server. Has anybody done that and when doing so, will it break other WebDev apps already deployed on there?

I hope I can get some more clues here than the two-lined reply from PCSoft...

TIA guys and girls,

Peter H.

von Peter Holemans - am 11.12.2013 12:12

Re: [WB18] 32 bit API/CallDLL Problem from WebDev

Hi Peter,

I think it's a question of which Webdev engine version is installed.
In Windev the executable can just be compiled for 32 or 64 bit.
In Webdev the code is executed on the server.
So you need to re-install Webdev 32 bit version on your develop machine.
The you also need to make sure the deployment server is 32 bits.
As most servers nowadays are 64 bit the api call may not be the way to go for Webdev.


von Piet van Zanten - am 11.12.2013 12:15

Re: [WB18] 32 bit API/CallDLL Problem from WebDev

Fabrice just beat me while typing :D

von Piet van Zanten - am 11.12.2013 12:18

Re: [WB18] 32 bit API/CallDLL Problem from WebDev

...as Fabrice was beating me while I was typing... :D

Hi Piet,

But than again, I found nowhere an option to download/install the 32 bit WAS version on a 64 bit Windows machine (for dev machine and 10 connections test WAS server)...

Got an answer from PCSTS (So 10 connections server is always 32 bits)
Hi Peter,
The 10 connections WAS is solely available for 32 bits, therefore your assumption that the error cause was the 64 bits mode cannot apply.
It is possible that some DLLs are required that are not available on a 64 bits machine. This is not a trivial problem. Unfortunately the Free Technical Support cannot help you regarding the subject of Windows API.

You may get some help from other WinDev users if you post this request on the WinDev forum.

OK, that clears already one thing out... I'll have to check why the identical API call works from the WinDev executable than and not from the WAS server on the same machine...

Any clue?


Peter H.

von Peter Holemans - am 11.12.2013 12:31

Re: [WB18] 32 bit API/CallDLL Problem from WebDev

Hi Peter,

As mentioned, a 32 bits Windev program will work both in testmode and once deployed on both 32 and 64 bits systems, because it will run in 32 bit (x86) mode.
A 32 bits dll cannot be loaded from a 64 bits application like the WAS, so that's where it goes wrong.
So if you compile your Windev program as 64 bits the dll will not be loaded, I presume.
Is there no option in the installation of the unlimited version of the WAS to check the 32 bits mode or does it just take the OS to decide which mode to install?


von Piet van Zanten - am 11.12.2013 15:46

RESOLVED: [WB18] 32 bit API/CallDLL Problem from WebDev

Hi All,

For your information I would like to share how we were able to solve it...

On the server side, you need indeed the 32 bit WAS engine (The 10 connections WAS is available in 32 bit only, hence the unavailability of the installation option).
Aside fromt that you need as well the 32 bit C++ Redistributables (x86) downloaded from Microsoft in order for this to work.

Windows server 2008 side only by default has the x64 C++ redistributables installed. Installing the x86 C++ redistributables resolved the issue.

Best regards,

Peter H.

von Peter Holemans - am 12.12.2013 12:42
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.