2

I'm starting my first application with FireDAC and Firebird 3.0 and I'm having this weird problem with FDPhysFBDriverLink.

Setting it up requires you to set VendorHome and VendorLib to get the driver link working...

When I set them, the driver keeps adding "\bin\" to the end of my VendorHome path.

For example:
In runtime my application FDPhysFBDriverLink's properties are set like this:

FDPhysFBDriverLink.VendorHome := ExtractFilePath(Application.ExeName);
FDPhysFBDriverLink.VendorLib  := 'fbclient_64.dll';

In design they are set in the properties, they are always the same, I can ensure you of that.

I can also ensure you that this DLL is always in the same Folder with the application.

But when I execute my app, FireDAC displays this exception:

[FireDAC][Phys][FB]-314. Cannot load vendor library [C:\Development\bin\fbclient_64.dll]. Não foi possível encontrar o módulo especificado

Hint: check it is in the PATH or application EXE directories, and has x86 bitness.

Just to be clear, ExtractFilePath(Application.ExeName) returns this: C:\Development\. I double checked it.

I tried to create this bin folder inside my application's folder and it started working.

Now the problem is, I don't want to create one folder for a single dll file.

Does anyone know a workaround to this issue or how to fix it properly?

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
  • 1
    Simply setup only `VendorLib` to the fully qualified path. – Victoria Jan 07 '18 at 16:41
  • 1
    setting `VendorLib` with the full path returns: `C:\Development\bin\C:\Development\fbclient_64.dll` – Nickolas de Luca Alberton Jan 07 '18 at 17:01
  • @Victoria actually... I think you might me right, after creating a new project and changing only the VendorLib property that bin folder wasnt added... I'll do some more testing in a fresh computer just to be sure, but things are working great so far! Must have been another bug with the component, cuz I cleared the VendorHome property and it kept adding the vendorHome folder... So weird... – Nickolas de Luca Alberton Jan 10 '18 at 10:52

1 Answers1

1

As suggested by Victoria, setting up VendorLib to the fully qualified path kind of fixes the problem. The problem still exists, but as long as you don't use the VendorHome property, you should be fine.