build Import LIB from LibPQ.DLL

User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: build Import LIB from LibPQ.DLL

Post 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.
Regards

G. N. Rao.
Hyderabad, India
User avatar
Jimmy
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: build Import LIB from LibPQ.DLL

Post 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

   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
greeting,
Jimmy
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: build Import LIB from LibPQ.DLL

Post 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

            :cFooterPicture   := NumPict( :nDataLen + 2, ::nDataDec )
Please change it as

Code: Select all | Expand

            :cFooterPicture   := NumPict( :nDataLen + 2, :nDataDec )
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: build Import LIB from LibPQ.DLL

Post by nageswaragunupudi »

After this fix, running fwh\samples\pgre01.prg:
Image
Regards

G. N. Rao.
Hyderabad, India
User avatar
Jimmy
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: build Import LIB from LibPQ.DLL

Post 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

            :cFooterPicture   := NumPict( :nDataLen + 2, ::nDataDec )
Please change it as

Code: Select all | Expand

            :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 :?:
greeting,
Jimmy
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: build Import LIB from LibPQ.DLL

Post 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.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: build Import LIB from LibPQ.DLL

Post 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" ?
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: build Import LIB from LibPQ.DLL

Post by nageswaragunupudi »

... or can i "just" override METHOD SetPostGreCol( ... ) CLASS TXBrowse
Can do this also.
Regards

G. N. Rao.
Hyderabad, India
User avatar
Jimmy
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: build Import LIB from LibPQ.DLL

Post 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
greeting,
Jimmy
User avatar
Jimmy
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: build Import LIB from LibPQ.DLL

Post 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

... SET married = `Homer 2` WHERE id = Springfield
it must be

Code: Select all | Expand

... 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" :?:
greeting,
Jimmy
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: build Import LIB from LibPQ.DLL

Post 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
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: build Import LIB from LibPQ.DLL

Post by nageswaragunupudi »

When we tried here, it is working well.
Image
Regards

G. N. Rao.
Hyderabad, India
User avatar
Jimmy
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: build Import LIB from LibPQ.DLL

Post by Jimmy »

hi
nageswaragunupudi wrote:When we tried here, it is working well.
interesting ...
which PostgreSQL Server Version are you using :?:
greeting,
Jimmy
User avatar
Jimmy
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: build Import LIB from LibPQ.DLL

Post 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

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
greeting,
Jimmy
User avatar
Jimmy
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: build Import LIB from LibPQ.DLL

Post 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 :?:
greeting,
Jimmy
Post Reply