Page 2 of 3

Re: build Import LIB from LibPQ.DLL

PostPosted: Fri Jun 30, 2023 9:59 pm
by nageswaragunupudi
Jimmy wrote:hi,

yes ,,, but only using (old v9) 32 Bit LibPQ.DLL Interface

i want to use 64 Bit App so i need 64 Bit LibPQ.DLL / LibPQ.LIB
it would be nice if Fivewin 64 Bit Version include "external" 64 Bit LIBs like in 32 bit Version


We are going to provide soon.

Re: build Import LIB from LibPQ.DLL

PostPosted: Sun Jul 02, 2023 10:17 pm
by Jimmy
hi,
nageswaragunupudi wrote:We already have programs to use PostGre in our samples which use some extensions created by FWH already

you mean c:\fwh\samples\testpgre.prg, based on TPQServer from hbPSQL.LIB, and those FWPG_* Function :?:

my Problem : Sample crash
Error description: Error BASE/1004 Message not found: TXBROWSE:NDATADEC

Stack Calls
===========
Called from: .\source\function\HARBOUR.PRG => _CLSSETERROR( 247 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:NDATADEC( 11834 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:SETPOSTGRECOL( 7191 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:SETPOSTGRE( 7134 )
Called from: .\source\classes\XBROWSE.PRG => XBRWSETDATASOURCE( 17832 )
Called from: .\source\function\XBROWSER.PRG => XBROWSE( 144 )
Called from: .\HBPGU.PRG => SHOWTABLE( 226 )


p.s. i have try different Table but all crash

---

next "Problem" when try to open BIG Table
Image
as Table was open without LIMIT
Code: Select all  Expand view
  oRs   := oServer:Query( "select * from " + cTable )

it does create a BIG "Result" ... too much for 32 Bit OS

---

now i have build 64 Bit LIB so it would be not Problem without LIMIT ... but it "can" take a long Time
i can´t say how XBROWSE will run as i got the Error above

Re: build Import LIB from LibPQ.DLL

PostPosted: Mon Jul 03, 2023 4:56 am
by nageswaragunupudi
We regret that there is one small bug while setting up postgrecol inside xbrowse.
Kindly fix this. I think no one reported till now due to lack of postgre users.
I noticed the bug a few days back when I was testing postgre samples.
From now, we will pay equal attention to postgre support. It is really a wonderful RDBMS

This is the bugfix:
In xbrowse.prg, inside the method SetPostGreCol(...) please locate this line:
Code: Select all  Expand view
           :cFooterPicture   := NumPict( :nDataLen + 2, ::nDataDec )

Please change it as
Code: Select all  Expand view
           :cFooterPicture   := NumPict( :nDataLen + 2, :nDataDec )

Re: build Import LIB from LibPQ.DLL

PostPosted: Mon Jul 03, 2023 5:04 am
by nageswaragunupudi
After this fix, running fwh\samples\pgre01.prg:
Image

Re: build Import LIB from LibPQ.DLL

PostPosted: Mon Jul 03, 2023 9:39 pm
by Jimmy
hi,

thx for Answer
nageswaragunupudi wrote:I think no one reported till now due to lack of postgre users.

as Xbase++ use Postgre there might be "more" User how want to use Postgre

nageswaragunupudi wrote:This is the bugfix:
In xbrowse.prg, inside the method SetPostGreCol(...) please locate this line:
Code: Select all  Expand view
           :cFooterPicture   := NumPict( :nDataLen + 2, ::nDataDec )

Please change it as
Code: Select all  Expand view
           :cFooterPicture   := NumPict( :nDataLen + 2, :nDataDec )

i can "see" what you mean, but "how" to "rebuild" LIB :?:

... or can i "just" override METHOD SetPostGreCol( ... ) CLASS TXBrowse

Question : is XBROWSE "hardcode" ( IsKindOf() ) in Source :?:

Re: build Import LIB from LibPQ.DLL

PostPosted: Tue Jul 04, 2023 4:53 am
by nageswaragunupudi
i can "see" what you mean, but "how" to "rebuild" LIB :?:

Easier way is:
Keep the modified xbrowse.prg in a separate folder.
Include this modified xbrowse.prg in your project link script as one of your source files.

I advise you to download and use the latest FWH2304.
In that case, we can send revised libs to you depending on your requirements so that your development will not stop.

Re: build Import LIB from LibPQ.DLL

PostPosted: Tue Jul 04, 2023 4:56 am
by nageswaragunupudi
Question : is XBROWSE "hardcode" ( IsKindOf() ) in Source

To be honest, I did not understand the question.

IsKindOf is a method that is available to all Harbour classes.
oObj:IsKindOf( "someclass" ) means the oObj is of class "someclass" or is derived from that class.
What is has to do with "hardcode" ?

Re: build Import LIB from LibPQ.DLL

PostPosted: Tue Jul 04, 2023 4:57 am
by nageswaragunupudi
... or can i "just" override METHOD SetPostGreCol( ... ) CLASS TXBrowse

Can do this also.

Re: build Import LIB from LibPQ.DLL

PostPosted: Wed Jul 05, 2023 12:41 am
by Jimmy
hi
nageswaragunupudi wrote:
i can "see" what you mean, but "how" to "rebuild" LIB :?:

Easier way is:
Keep the modified xbrowse.prg in a separate folder.
Include this modified xbrowse.prg in your project link script as one of your source files.

that i did now, thx

nageswaragunupudi wrote:
... or can i "just" override METHOD SetPostGreCol( ... ) CLASS TXBrowse

Can do this also.

can you please show some CODE "how" to begin

Re: build Import LIB from LibPQ.DLL

PostPosted: Tue Jul 11, 2023 9:49 pm
by Jimmy
hi,
nageswaragunupudi wrote:After this fix, running fwh\samples\pgre01.prg:

i have "import" Customer.DBF into PostgreSQL and can XBROWSER it
when "dblclick" to "edit" and want "save" it i got this Error Message
Image
but it is "wrong" :
Code: Select all  Expand view
... SET married = `Homer 2` WHERE id = Springfield

it must be
Code: Select all  Expand view
... SET first = `Homer 2` WHERE id = 1


---

when using sample pgre01.prg and "edit" the "Name" and "save" it,
Image
than Field "Image" change to what i have type as "Name"
Image

---

Question : "where" do i find CODE for "Update" :?:

Re: build Import LIB from LibPQ.DLL

PostPosted: Wed Jul 12, 2023 7:02 am
by nageswaragunupudi
Question : "where" do i find CODE for "Update" :?:

TDataRow class

Anyway we are going to look into the issue and get back to you

Re: build Import LIB from LibPQ.DLL

PostPosted: Wed Jul 12, 2023 1:47 pm
by nageswaragunupudi
When we tried here, it is working well.
Image

Re: build Import LIB from LibPQ.DLL

PostPosted: Thu Jul 13, 2023 10:03 pm
by Jimmy
hi
nageswaragunupudi wrote:When we tried here, it is working well.

interesting ...
which PostgreSQL Server Version are you using :?:

Re: build Import LIB from LibPQ.DLL

PostPosted: Thu Jul 13, 2023 11:31 pm
by Jimmy
hi,

i have try again to build PGRE01.EXE
but it crash with
Error description: Error BASE/1004 Message not found: TXBROWSE:NDATADEC

ok, that is still "old" LIB while i do not know how to build new LIB ...

---

so i copy xbrowse.prg into \Sample, modify it and made PGRE01.MAK
Code: Select all  Expand view
HBDIR=c:\harbour
BCDIR=c:\BCC7
FWDIR=c:\fwh

#change these paths as needed
.path.OBJ = .\obj
.path.PRG = .\
.path.CH  = $(FWDIR)\include;$(HBDIR)\include;$(BCDIR)\include\windows
.path.C   = .\
.path.rc  = .\

#important: Use Uppercase for filenames extensions, in the next two rules!

PRG = \
PGRE01.PRG \
XBROWSE.PRG

PROJECT    : PGRE01.EXE

PGRE01.EXE  : $(PRG:.PRG=.OBJ) PGRE01.RES
   @echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo obj\PGRE01.obj obj\XBROWSE.obj , + >> b32.bc
   echo PGRE01.EXE, + >> b32.bc
   echo PGRE01.MAP, + >> b32.bc
   echo $(FWDIR)\lib\FiveH.lib $(FWDIR)\lib\FiveHC.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbrtl.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbvmmt.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\gtgui.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hblang.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbmacro.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbrdd.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\rddntx.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\rddcdx.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\rddfpt.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbsix.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbdebug.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbcommon.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbpp.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbwin.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbcpage.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbct.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbpcre.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbcplr.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\xhb.lib + >> b32.bc

   echo $(HBDIR)\lib\win\bcc\hbziparc.lib +  >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbmzip.lib +  >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbzlib.lib +  >> b32.bc
   echo $(HBDIR)\lib\win\bcc\minizip.lib +  >> b32.bc
   echo $(HBDIR)\lib\win\bcc\png.lib +  >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbusrrdd.lib +  >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbtip.lib +  >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbzebra.lib +  >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbcurl.lib +  >> b32.bc
   echo $(HBDIR)\lib\win\bcc\libcurl.lib +  >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbxpp.lib +  >> b32.bc

   echo $(FWDIR)\lib\dolphin.lib +  >> b32.bc
   echo $(FWDIR)\lib\hbpgsql.lib +  >> b32.bc
   echo $(FWDIR)\lib\libpq.lib +  >> b32.bc

   echo $(BCDIR)\lib\cw32mt.lib + >> b32.bc
   echo $(BCDIR)\lib\uuid.lib + >> b32.bc
   echo $(BCDIR)\lib\ws2_32.lib +  >> b32.bc
   echo $(BCDIR)\lib\psdk\gdiplus.lib +  >> b32.bc
   echo $(BCDIR)\lib\import32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\odbc32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\nddeapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\iphlpapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\msimg32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\psapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\shell32.lib,  >> b32.bc

   IF EXIST PGRE01.res echo PGRE01.res >> b32.bc
   $(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc
   del b32.bc

.PRG.OBJ:
  $(HBDIR)\bin\harbour $< /N /W /Oobj\ /I$(FWDIR)\include;$(HBDIR)\include;$(BCDIR)\include\windows

  $(BCDIR)\bin\bcc32 -c -tWM -I$(HBDIR)\include -oobj\$& obj\$&.c

.C.OBJ:
  echo -c -tWM -D__HARBOUR__ -DHB_API_MACROS > tmp
  echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
  $(BCDIR)\bin\bcc32 -oobj\$& @tmp $&.c
  del tmp

PGRE01.RES : PGRE01.RC
  $(BCDIR)\bin\brc32.exe -r PGRE01.RC

i try "same Way" as you have show but my Result IS still bad :cry:
Image

p.s. this is 32 Bit Version

Re: build Import LIB from LibPQ.DLL

PostPosted: Tue Jul 18, 2023 9:28 pm
by Jimmy
hi,

i have now try Sample with FWH 23/04 but still got same Problem

i wonder as i can "see" your Sample is working like my "native" Version
but why is Sample fwh\samples\pgre01.prg:not working on my PC ... :(

so i like to ask again : which PostgreSQl Server do you use :?: