Jump to content

Pat Heuvel

Members
  • Content Count

    18
  • Joined

  • Last visited

Posts posted by Pat Heuvel


  1. I'm advocating for PostgreSQL. Yes, you'll need to learn a new language to replace T-SQL (although you do have choices), but it's a very solid database with great features (including documentation) and a wealth of skills online to take any questions or concerns.


  2. The message "Cannot load vendor library libpq.dll" is a little misleading. What I reckon is happening here is that libpq's dependencies cannot be found. If you want to run with libpq in your executable's directory, you also need:

    • libintl-8.dll
    • libcrypto-3-x64.dll
    • libssl-3-x64.dll

    These files can be found in the runtime directory of the latest pgadmin.exe or postgresql. For an earlier version of libpq, these dependencies were:

    • libeay32.dll
    • libssl32.dll

    Don't ask me when the versions changed!

     

    Also, don't forget the MS VC runtime mentioned elsewhere!

     

    Hope this helps,

    Regards,

    Pat


  3. Thanks David. I tried the quotes thing, sadly to no effect.

     

    It's easy to see when the problem is gone, because the little red arrow at the right end of the line disappears!

     

    This is really an annoyance issue, because I can't use Ctrl-Shift-C; otherwise, the code compiles and functions perfectly!

     

    A workaround is to comment out that line (!), add whatever procs I need, then uncomment the line. Even that is funny, because the comment marker becomes a piece of the text, as expected. My brain hurts.


  4. Gday,

     

    I have a multiline string (or two) in my code to programatically add functions to a PostgreSQL database. They work well! However, one of them causes a problem when trying to use Ctrl-Shift-C to start a new function:

    image.png.e2ba7e452d75fb99e571e3e7eb4982d8.png

     

    I've traced this to one particular multiline string:

      CSqlDebugMsgFunction =
    '''''
    -- fdebugmsg
    -- send debug message as notice to database log
    --
    create or replace function fdebugmsg(amsg varchar)
        returns void as $fmsg$
    begin
        raise notice '%', amsg;
    end;
    $fmsg$ language plpgsql;
    ''''';

    (of course, the "const" keyword appears a couple of declarations above this one).

    The clue to the problem is a small red arrow at the end of the "raise notice..." line. If I change "raise" to, for example, "xraise", the little red arrow goes away and Ctrl-Shift-C works as it should. So clearly, Delphi is parsing this line when i think it shouldn't.

    Can anybody please offer a suggestion as to how to fix this, or should I report it as a bug?

     

    Regards to all,

    Pat Heuvel


  5. Update: I finally worked out that the Windows VHDX is a complete filesystem, and not an installer ISO as I had expected. I used QEMU to convert it to a VMWare VMDK, then created a VM around it. When I fired up the VM, I was presented with Windows' initial setup screen.

     

    Once the setup was complete, it then pointed out that there was an even later version of Windows, which it then proceeded to download and install. So my VMWare Windows ARM is working and up to date, finally!


  6. Gday,

     

    For the past couple of weeks I've been seeing a message on my Windows ARM VM saying the version of Windows had expired and it was time to upgrade. Dutifully, I downloaded a new "iso", which is actually a Windows VHDX (from memory). If I mount that image (or any of a number of versions I downloaded), there is no setup.exe nor any file in the root: only the expected folders. So I tried writing the image to a 2TB external drive, using rufus. The resulting image looks the same, with no files in the root of the drive.

     

    So my question (if it's not obvious) is this: is there anybody still running a current version of Windows 11 ARM on a Mac with Apple silicon using VMWare Fusion? (My version is a paid one at v13.6).

     

    Regards and thanks to all!

    Pat


  7. Gday,

    Thanks for making this tool available! I've just tried to use it on a C++ Builder 32-bit binary and got the following:

     

    map2pdb - Copyright (c) 2021 Anders Melander
    Version 3.1.2
    
    Fatal: [   44] Modules overlap: C:\PROGRAM, C:\PROGRAM
    0001:0003AD33 00000297 C=CODE    S=_TEXT    G=(none)   M=C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\22.0\LIB\WIN32\DEBUG\RTL.LIB|System.Internal.ExcUtils ACBP=A9

    Am I doing something wrong? My command line is

    D:\Devel\CPP\BlueVane\BVMultisport\Win32\Debug>map2pdb BVMultisport.map -bind

    Executable was compiled under RS 11.3, with recommended options for the mapfile.

     

    Thank you!


  8. Gday all,

     

    I have an application that was working prior to Monterey. It uses the PostgreSQL libraries libpq.dylib (and its related dylibs). Since Monterey, it can't successfully load libpq.dylib. I realise this could also mean that it can't succesfully load one of the libraries upon which libpq relies. I have added an FDPhysPgDriverLink instance to my data module, and login, database, server and port vales are correct.

     

    After some research, I came across this article:

    http://clarkkromenaker.com/post/library-dynamic-loading-mac/

    I expect I need to add an LC_RPATH command to my binary, pointing to @executable_path/../Libraries (which is where I put libpq.dylib et al).

     

    I've tried doing this in a shell on the Mac, but that fails because it invalidates the code signing. Is there a way to add this stuff (ideally during the build process within the IDE)?

     

    Oh, I'm using RAD Studio 11.2 (plus patch) on Windows 10 Pro PC and XCode 14.1 on Macbook Pro M1.

     

    Thanks,

    Pat


  9. You should only need the bitness that relates to your binary. But you will also get the same message if the libraries that libpq needs aren't there, so make sure you also have:

    libeay32.dll

    libintl-8.dll

    ssleay32.dll

    in the same directory.

     

    If you still need the 32-bit libpq, you can get it by downloading an old pgadmin.

×