0
votes

I have a following problem when I want compile my Datasnap ISAPI DLL project using C++ Builder 10.2:

  1. Create new Datasnap WebBroker Application as ISAPI DLL and using TDSServerModule option
  2. Open WebModule1 designer and add TFDGUIxWaitCursor component
  3. In project options deselect "Link with Dynamic RTL" and "Link with runtime packages"
  4. Build

Then a bunch of linker errors are generated:

  • [ilink32 Error] Error: Unresolved external 'GetDpiForMonitor' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\19.0\LIB\WIN32\DEBUG\VCL.LIB|Vcl.Forms
  • [ilink32 Error] Error: Unresolved external 'SHCreateItemFromParsingName' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\19.0\LIB\WIN32\DEBUG\VCL.LIB|Vcl.Dialogs
  • [ilink32 Error] Error: Unresolved external 'BeginBufferedPaint' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\19.0\LIB\WIN32\DEBUG\VCL.LIB|Vcl.Controls
  • ....

Similar errors are shown when targeting Windows 64 bit platform. What I noticed is that TFDGUIxWaitCursor is the one causing this as compiling the project prior placing that component is successful. It even compiles fine if the component is on the web module but if step 3 is not performed. How to solve this and get successful compile when steps 2 and 3 are applied?

1
Are you adding any TFDConnection and TFDPhysxxDriverlink components to the Webmodule?nolaspeaker

1 Answers

1
votes

Adding the following lines to the WebModule.cpp file resolves the issue:

#pragma comment(lib, "SHCore")
#pragma comment(lib, "UXTheme")
#pragma comment(lib, "shell32")
#pragma comment(lib, "WINDOWSCODECS")