[Harbour] 2008-10-21 09:35 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
2008-10-21 09:35 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/console.c ! Fixed typo in hb_dispoutAt() numeric color handling. * source/rtl/box.c * Minor formatting. -- Brgds, Viktor ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-21 09:35 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
Hello Victor, I`m not sure if this problem is related to latest changes but for information : bcc32.exe -c -q -d -Q -w -w-sig- -tWM -O2 -OS -Ov -Oi -Oc -Iinclude -Iobj\b32 -oobj\b32\harbour.obj source\main\harbour.c source\main\harbour.c: IF EXIST "bin\b32\harbour.exe" del "bin\b32\harbour.exe" > NUL bcc32.exe @MAKE0028.@@@ Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_hb_compExprReduceMIN' referenced from C:\HARBOUR\LIB\B32\HBCPLR.LIB|exproptb Error: Unresolved external '_hb_compExprReduceMAX' referenced from C:\HARBOUR\LIB\B32\HBCPLR.LIB|exproptb Borland C++ Compiler 5.5 MAKE Version 5.2 Copyright (c) 1987, 2000 Borland TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation Windows Vista Home Premium -- Best regards, Jacek Kubica Poczta zostala przeskanowana przez system antywirusowy i nie zawiera wirusow. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-21 09:35 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
[wtorek, 21 pa�dziernik 2008], Jacek Kubica napisa�(a): Cześć Jacku, > I`m not sure if this problem is related to latest changes > but for information : > bcc32.exe -c -q -d -Q -w -w-sig- -tWM -O2 -OS -Ov -Oi -Oc -Iinclude > -Iobj\b32 -oobj\b32\harbour.obj source\main\harbour.c > source\main\harbour.c: > IF EXIST "bin\b32\harbour.exe" del "bin\b32\harbour.exe" > NUL > bcc32.exe @MAKE0028.@@@ > Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland > Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland > Error: Unresolved external '_hb_compExprReduceMIN' referenced from > C:\HARBOUR\LIB\B32\HBCPLR.LIB|exproptb > Error: Unresolved external '_hb_compExprReduceMAX' referenced from > C:\HARBOUR\LIB\B32\HBCPLR.LIB|exproptb These functions are in common library. Clean build should help. best regards, Przemek ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] 2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <[EMAIL PROTECTED]>
2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <[EMAIL PROTECTED]> * contrib/xhb/hbcompat.ch * contrib/xhb/hbcompat.h + added compatibilities. * include/fileio.ch * source/rtl/filesys.c * minor syntax correction. Best regards, Miguel Angel Marchuet ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <[EMAIL PROTECTED]>
On Tue, 21 Oct 2008, Miguel Angel Marchuet wrote: Hi Miguel, > 2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <[EMAIL PROTECTED]> > * contrib/xhb/hbcompat.h > + added compatibilities. Thank you for modifications but this one: #define hb_retclenAdoptRaw( szText, ulLen ) hb_retclen_buffer( (szText), (ulLen) ) can be source of serious problems. hb_retclen_buffer() always sets '\0' at the end of passed string and hb_retclenAdoptRaw() in xHarbour doesn't. I strongly preffer that programmers which create common code for Harbour and xHarbour make it ready for such situations and in such case then can simply use hb_retclenAdopt()/hb_retclen_buffer() instead of hb_retclenAdoptRaw() so such #define is not be necessary at all. It only pacifies C compiler errors hiding the potential problem and allow to create buggy binaries. It should be reverted. best regards, Przemek ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <[EMAIL PROTECTED]>
Hi folks, I wanted to note something similar, as I remember converting xhb code to Harbour, and these weren't exactly equivalent. Brgds, Viktor On 2008.10.21., at 13:45, Przemyslaw Czerpak wrote: On Tue, 21 Oct 2008, Miguel Angel Marchuet wrote: Hi Miguel, 2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <[EMAIL PROTECTED] > * contrib/xhb/hbcompat.h + added compatibilities. Thank you for modifications but this one: #define hb_retclenAdoptRaw( szText, ulLen ) hb_retclen_buffer( (szText), (ulLen) ) can be source of serious problems. hb_retclen_buffer() always sets '\0' at the end of passed string and hb_retclenAdoptRaw() in xHarbour doesn't. I strongly preffer that programmers which create common code for Harbour and xHarbour make it ready for such situations and in such case then can simply use hb_retclenAdopt()/hb_retclen_buffer() instead of hb_retclenAdoptRaw() so such #define is not be necessary at all. It only pacifies C compiler errors hiding the potential problem and allow to create buggy binaries. It should be reverted. best regards, Przemek ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] 2008-10-21 14:58 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
2008-10-21 14:58 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/box.c ! Fixed GPF in hb_dispBox() when box drawing chars were not passed. -- Brgds, Viktor ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
RE: [Harbour] 2008-10-20 21:16 UTC+0200 Przemyslaw Czerpak(druzus/at/priv.onet.pl)
IS this extending GT API adding multiwindow interface and RT GT switching so each thread can use its own GT driver tuned for given job. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Przemyslaw Czerpak Sent: Monday, October 20, 2008 9:17 PM To: harbour@harbour-project.org Subject: [Harbour] 2008-10-20 21:16 UTC+0200 Przemyslaw Czerpak(druzus/at/priv.onet.pl) 2008-10-20 21:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbct/ctwin.c * moved internal CTW data to structure allocated dynamically and hold by inside current thread GT (HB_GT) to eliminate static variables used by GTCTW. Now each thread can have its own independent set of CTWindows if it allocated new GT. * harbour/contrib/hbct/tests/ctwtest.prg * removed two unused local variables best regards Przemek ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
RE: [Harbour] A standard for the Harbour's SQL libs
Hi Mindaugas, can you add to svn? Anybody have different proposal? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mindaugas Kavaliauskas Sent: Monday, October 13, 2008 1:00 PM To: Harbour Project Main Developer List. Subject: Re: [Harbour] A standard for the Harbour's SQL libs Hi, Przemyslaw Czerpak wrote: > Before you will started the work then I suggest you to look at CLIP > project - you will find in SF. I've looked to CLIP code. The basic idea (Clip's SQL interface gives possibility to access SQL databases, but are not plug-and-play tool for DBF to SQL migration) seams to be the same. I also see a lot of similarities in implementation. Of cause some differences exists, the main differences are: 1) CLIP uses different function names to RDD and SQL. For example, it uses SQLGOBOTTOM() instead of DBGOBOTTOM(). My implementation is uses RDD interface. Some new SQL functionality is obtained using RDDINFO() call. For example, I use: RDDINFO(RDDI_EXECUTE, "DROP TABLE something") instead of SQLEXECUTE("DROP TABLE something") but these SQL*() functions can be easy implemented. Actually, the same situation is in DBF implementation. You can use DBORDERINFO(DBOI_ORDERCOUNT) or ORDCOUNT(). 2) I guess CLIP does not have possibility to access field values using names, i.e. FIELD NAME ? NAME is impossible, the only way to get field value is: ? SQLGETVALUE(1) // 1 is field number I found it a drawback. Using native Clipper syntax support for accessing field is a big benefit, it make code much more shorter and readable. Of cause, there are some implementation differences. CLIP has prepare() method, but I know MySQL the best from SQL API's and it did not use prepare function, so I haven't included it into SQL database driver method table. The similar situation is for start(), commit(), rollback(). In MySQL you need to do execute() call with parameter "commit" or "rollback". I have not added BLOB suport yet. The few problems have to be solved writing RDD for SQL access. One is NULL/NIL question? Another is: should we PAD field values for SQL RDD to be compatible with DBF RDD's? I attach some of my code (only MySQL database driver) is included: sqlbase.c - basic RDD for interfacing with SQL database driver; sqlmix.c - this RDD implements indexes using B-trees in memory. It is inherited from SQLBASE; mysqldd.c - SQL database driver for MySQL; hbsqldd.h - include files for all above. Some defines should be moved to should dbinfo.ch; test1.prg - test code. I hope you'll be able to compile it. Best regards, Mindaugas ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
RE: [Harbour] A standard for the Harbour's SQL libs
My provider has defered sending of email It wat 3 days old Now Viktor have already made this my old suggestion Thanks -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Massimo Belgrano Sent: Monday, October 20, 2008 3:36 PM To: Harbour Project Main Developer List. Subject: RE: [Harbour] A standard for the Harbour's SQL libs Hi Mindaugas, can you add to svn? Anybody have different proposal? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mindaugas Kavaliauskas Sent: Monday, October 13, 2008 1:00 PM To: Harbour Project Main Developer List. Subject: Re: [Harbour] A standard for the Harbour's SQL libs Hi, Przemyslaw Czerpak wrote: > Before you will started the work then I suggest you to look at CLIP > project - you will find in SF. I've looked to CLIP code. The basic idea (Clip's SQL interface gives possibility to access SQL databases, but are not plug-and-play tool for DBF to SQL migration) seams to be the same. I also see a lot of similarities in implementation. Of cause some differences exists, the main differences are: 1) CLIP uses different function names to RDD and SQL. For example, it uses SQLGOBOTTOM() instead of DBGOBOTTOM(). My implementation is uses RDD interface. Some new SQL functionality is obtained using RDDINFO() call. For example, I use: RDDINFO(RDDI_EXECUTE, "DROP TABLE something") instead of SQLEXECUTE("DROP TABLE something") but these SQL*() functions can be easy implemented. Actually, the same situation is in DBF implementation. You can use DBORDERINFO(DBOI_ORDERCOUNT) or ORDCOUNT(). 2) I guess CLIP does not have possibility to access field values using names, i.e. FIELD NAME ? NAME is impossible, the only way to get field value is: ? SQLGETVALUE(1) // 1 is field number I found it a drawback. Using native Clipper syntax support for accessing field is a big benefit, it make code much more shorter and readable. Of cause, there are some implementation differences. CLIP has prepare() method, but I know MySQL the best from SQL API's and it did not use prepare function, so I haven't included it into SQL database driver method table. The similar situation is for start(), commit(), rollback(). In MySQL you need to do execute() call with parameter "commit" or "rollback". I have not added BLOB suport yet. The few problems have to be solved writing RDD for SQL access. One is NULL/NIL question? Another is: should we PAD field values for SQL RDD to be compatible with DBF RDD's? I attach some of my code (only MySQL database driver) is included: sqlbase.c - basic RDD for interfacing with SQL database driver; sqlmix.c - this RDD implements indexes using B-trees in memory. It is inherited from SQLBASE; mysqldd.c - SQL database driver for MySQL; hbsqldd.h - include files for all above. Some defines should be moved to should dbinfo.ch; test1.prg - test code. I hope you'll be able to compile it. Best regards, Mindaugas ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] New SQL classes #1
After looking JDBC, PHP Pear DB, OCI8, CLip docs I would suggest: 1 - to follow the JDBC standard as close as possible: big players like Oracle, IBM, Sun (mysql) are heavily committed to JDBC and surely in it all options are considered and implemented. This doesn't mean we need to do everything exactly in the same way but a developer that follow the JDBC tutorial http://java.sun.com/docs/books/tutorial/jdbc/index.html should feel at home 2 - to "import" some interesting features from PHP: like the use of hashes to retrieve values beside the classic fieldget( "fieldname" ) or autoPrepare & autoExecute see: http://pear.php.net/manual/en/package.database.db.php 3 - to have as much "drivers" as possible. Having only one or two drivers will not change anything. We need a "native" multiplatform driver for each major player like Oracle, Db2, MySql, PostgreSQL, MSSQL(Ado), SQLIte, ODBC. Clearly I don't expect that a trained Java developer will move to Harbour, but IMHO there are many developers that find Java and .Net too "heavy" but PHP/ASP not suitable for desktop apps but that know those languages. To achieve these goals I would suggest: 1 - to follow step by step JDBC tutorial that is after made the changes required by the syntax the examples should work. This means to implement for every driver: - DriverManager - Connection - Statement - PreparedStatement - CallableStatement - ResultSet and if possible: - RowSet - BLOB, CLOB - XML - ... 2 - to forget about the driver's "nature" for the moment and add dirs like HdbcOdbc, HdbcOr, HdbcMy, HdbcPg, HdbcSl, HdbcFb, to contrib It would also be a good start to have a standard set of tables ( like Oracle's HR ) and a set of common tests to compare the results. Now the hard thing the resources: - at least one PRG developer for each driver - C developers for the interfaces - testers and users to: -- test various DBMS under OSes -- write doc about differences between drivers -- write test cases I would also remind that: PostgreSQL has a BSD license so it's really free for every use and has binaries installers for almost every OS at www.postgresql.org Oracle has an Express Edition "Free to develop, deploy, and distribute" for Linux and Win at http://www.oracle.com/technology/products/database/xe/index.html An interesting OCI C Interface read is http://www.oracle.com/technology/tech/oci/pdf/building-best-drivers.v9.pdf IBM has an Express Edition of DB2 for Linux and Win at www.ibm.com/db2/express The CLI C interface is very close to the odbc one. MySql comes with a dual license: pure GPL and commercial. So linking MySql client without a commercial license results in a GPL application. CLip is GPL so please don't copy any code. I would also suggest to don't download and don't look at the real code. Use only the doc. Suggestions and comments are welcome. best regards, Lorenzo ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <[EMAIL PROTECTED]>
Is possible, what do you thing about this function. Can i use hb_retclenAdopt instead of hb_retclenAdoptRaw in this case ? or is necessary ? HB_FUNC( UTF8TOWIDE ) // ( cAnsiStr ) -> cWideStr { char *cString = hb_parc( 1 ); if( cString ) { BSTR wString = hb_oleUTF8ToWide( cString ); if( wString ) { hb_retclenAdoptRaw( (char *) wString, SysStringLen( wString ) ); return; } } hb_ret(); return; } //---// HB_EXPORT LPWSTR hb_oleUTF8ToWide( LPSTR cString ) { int nConvertedLen = MultiByteToWideChar( CP_UTF8, 0, cString, -1, NULL, 0 ); if( nConvertedLen ) { LPWSTR wString = (LPWSTR) hb_xgrab( nConvertedLen * 3 ); if( MultiByteToWideChar( CP_UTF8, 0, cString, -1, wString, nConvertedLen ) ) { return (LPWSTR) wString; } else { hb_xfree( wString ); } } return NULL; } Best regards, Miguel Angel Marchuet Przemyslaw Czerpak escribió: On Tue, 21 Oct 2008, Miguel Angel Marchuet wrote: Hi Miguel, 2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <[EMAIL PROTECTED]> * contrib/xhb/hbcompat.h + added compatibilities. Thank you for modifications but this one: #define hb_retclenAdoptRaw( szText, ulLen ) hb_retclen_buffer( (szText), (ulLen) ) can be source of serious problems. hb_retclen_buffer() always sets '\0' at the end of passed string and hb_retclenAdoptRaw() in xHarbour doesn't. I strongly preffer that programmers which create common code for Harbour and xHarbour make it ready for such situations and in such case then can simply use hb_retclenAdopt()/hb_retclen_buffer() instead of hb_retclenAdoptRaw() so such #define is not be necessary at all. It only pacifies C compiler errors hiding the potential problem and allow to create buggy binaries. It should be reverted. best regards, Przemek ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour __ Informaci�n de ESET NOD32 Antivirus, versi�n de la base de firmas de virus 3542 (20081021) __ ESET NOD32 Antivirus ha comprobado este mensaje. http://www.eset.com ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <[EMAIL PROTECTED]>r
On Tue, 21 Oct 2008, Miguel Angel Marchuet wrote: Hi Miguel, > Is possible, what do you thing about this function. > Can i use hb_retclenAdopt instead of hb_retclenAdoptRaw in this case ? > or is necessary ? You have to and in this case you should 1-st fix the conversion code or it may cause unexpected results like GPF. Below is corrected version (not tested just written). best regards, Przemek HB_FUNC( UTF8TOWIDE ) // ( cAnsiStr ) -> cWideStr { char *cString = hb_parc( 1 ); if( cString ) { DWORD length; wchar_t * wString; length = MultiByteToWideChar( CP_UTF8, 0, cString, -1, NULL, 0 ); wString = ( wchar_t * ) hb_xgrab( ( length + 1 ) * sizeof( wchar_t ) ); MultiByteToWideChar( CP_UTF8, 0, cString, -1, wString, length + 1 ); hb_retclen_buffer( ( char * ) wString, length * sizeof( wchar_t ) ); } } ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] FYI MSVS2008 and Win9x
Hi all, FYI, MSVS 2008 has a notable downside: programs won't work on Win9x and also WinNT. [ This also means that UNICODE can be turned on by default for MSVS2008 (and upper) builds. ] MSVS 2005 is fine. Brgds, Viktor ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <[EMAIL PROTECTED]>r
Many thks for you help. I like too upload this function and other similars to harbour's cvs Where do you think is the best site to upload it ? Best regards, Miguel Angel Marchuet Przemyslaw Czerpak escribió: On Tue, 21 Oct 2008, Miguel Angel Marchuet wrote: Hi Miguel, Is possible, what do you thing about this function. Can i use hb_retclenAdopt instead of hb_retclenAdoptRaw in this case ? or is necessary ? You have to and in this case you should 1-st fix the conversion code or it may cause unexpected results like GPF. Below is corrected version (not tested just written). best regards, Przemek HB_FUNC( UTF8TOWIDE ) // ( cAnsiStr ) -> cWideStr { char *cString = hb_parc( 1 ); if( cString ) { DWORD length; wchar_t * wString; length = MultiByteToWideChar( CP_UTF8, 0, cString, -1, NULL, 0 ); wString = ( wchar_t * ) hb_xgrab( ( length + 1 ) * sizeof( wchar_t ) ); MultiByteToWideChar( CP_UTF8, 0, cString, -1, wString, length + 1 ); hb_retclen_buffer( ( char * ) wString, length * sizeof( wchar_t ) ); } } ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour __ Informaci�n de ESET Smart Security, versi�n de la base de firmas de virus 3543 (20081021) __ ESET Smart Security ha comprobado este mensaje. http://www.eset.com ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <[EMAIL PROTECTED]>r
Hi Miguel, contrib/hbwin Note that there are already almost exactly the same functions (except the encoding setting) for ANSI/WIDE conversion in win_ole.c. You may want to take a look at them. Maybe the best would be to have all these Win text conversions gathered in one .c file. Brgds, Viktor On 2008.10.21., at 21:30, Miguel Angel Marchuet wrote: Many thks for you help. I like too upload this function and other similars to harbour's cvs Where do you think is the best site to upload it ? Best regards, Miguel Angel Marchuet Przemyslaw Czerpak escribió: On Tue, 21 Oct 2008, Miguel Angel Marchuet wrote: Hi Miguel, Is possible, what do you thing about this function. Can i use hb_retclenAdopt instead of hb_retclenAdoptRaw in this case ? or is necessary ? You have to and in this case you should 1-st fix the conversion code or it may cause unexpected results like GPF. Below is corrected version (not tested just written). best regards, Przemek HB_FUNC( UTF8TOWIDE ) // ( cAnsiStr ) -> cWideStr { char *cString = hb_parc( 1 ); if( cString ) { DWORD length; wchar_t * wString; length = MultiByteToWideChar( CP_UTF8, 0, cString, -1, NULL, 0 ); wString = ( wchar_t * ) hb_xgrab( ( length + 1 ) * sizeof( wchar_t ) ); MultiByteToWideChar( CP_UTF8, 0, cString, -1, wString, length + 1 ); hb_retclen_buffer( ( char * ) wString, length * sizeof( wchar_t ) ); } } ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour __ Informaci�n de ESET Smart Security, versi�n de la base de firmas de virus 3543 (20081021) __ ESET Smart Security ha comprobado este mensaje. http://www.eset.com ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] 2008-10-21 22:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
2008-10-21 22:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapigt.h * harbour/source/rtl/console.c * harbour/source/rtl/filesys.c * use HB_STD{IN,OUT,ERR}_HANDLE macros instead of hard coded values * harbour/include/hbgtcore.h * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gtapi.c + added optional support for dynamic supertables + added reference counter to HB_GT_BASE structure - removed hb_gtUnLoad() function + added hb_gtAlloc(), hb_gtRelease(), hb_gtAttach() + added hb_gtRealod() function which unloads current GT driver and loads given new one + added .prg function HB_GTRELOAD( ) -> This function allow to switch active GT driver at run time. It can be also used to simulate removed HB_NOSTARTUPWINDOW() functionality. F.e.: REQUEST HB_GT_WVT REQUEST HB_GT_NUL_DEFAULT proc main() // do some initializations... hb_gtReload( "WVT" ) // rest of code... return Please remember that some GTs may refuse initialization due to missing required resources and instead of return FALSE they can interrupt program with internal error, just like at application startup so it's not guarantied that this function always returns. * harbour/contrib/hbct/ctwin.c * updated for new GT API + added support for dynamic supertable to allow using CTWIN in the same time with different GTs. * harbour/contrib/xhb/hbcompat.h - removed hb_retclenAdoptRaw translation best regards Przemek ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-21 22:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
Przemyslaw Czerpak-2 wrote: > > 2008-10-21 22:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) > * harbour/include/hbapigt.h > * harbour/source/rtl/console.c > ... > So groundwork for multi-window GT is under construction ! Regards Pritpal Bedi -- View this message in context: http://www.nabble.com/2008-10-21-22%3A18-UTC%2B0200-Przemyslaw-Czerpak-%28druzus-at-priv.onet.pl%29-tp20098580p20099617.html Sent from the Harbour - Dev mailing list archive at Nabble.com. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] 2008-10-21 17:15 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com)
2008-10-21 17:15 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com) * source/debug/debugger.prg ! Fixed error when moving in the call stack window to an source prg not included in the path, and a ::oWndVars (Monitor of vars) is opened. best regards, Teo ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [SPAM] Re: [Harbour] 2008-10-09 20:51 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
Hi Przemek, Il 09/10/2008 23.00, Przemyslaw Czerpak ha scritto: F.e. it looks that xbase++ can have methods and object variables with the same name. It means that: ? o:var gives different code then: ? o:var() or at least documentation it wrong describing :atStart and :atEnd methods and variables. It's interesting functionality I even wanted to add but it's not Clipper compatible though probably we can hide the difference by introducing "suggested" action to PCODE so o:var() will work as o:var when there is no method with the name "var". If other developers think it's important then I can add such extension. I have just now finished to discuss about this with Pritpal, at whom I was describing that I have partially lost 2 days because I'm porting a lib of mine to harbour from xharbour and today I have found that one of problems was exactly the contrary of above functionality: send a value to a method using assignment and not parenthesis. What you wrote above it seems to me that it's already implemented. Values on right are Clipper - Harbour results PROCEDURE Main() LOCAL o := GetNew() // var in harbour ? o:cargo()// <-- NIL - NIL ? o:cargo := 10// <-- 10 - 10 ? o:cargo( 30 )// <-- 30 - 10 ? o:cargo()// <-- 30 - 10 // setget in harbour ? o:col := 5 // <-- 5 - 5 ? o:col( 10 ) // <-- 5 - 10 ? o:col() // <-- 5 - 10 o := ErrorNew() ? o:cargo := 10// <-- 10 - 10 ? o:cargo( 30 )// <-- 10 - 10 ? o:cargo()// <-- 10 - 10 o := TBrowseNew() ? o:cargo := 10// <-- 10 - 10 ? o:cargo( 30 )// <-- 10 - 10 ? o:cargo()// <-- 10 - 10 // setget in harbour ? o:nTop // <-- 0 - 0 ? o:nTop := 7 // <-- 7 - 7 ? o:nTop( 9 ) // <-- 9 - 9 ? o:nTop() // <-- 9 - 9 RETURN but also in clipper if you wrote: oTBrowse:addColumn := oTBColumns it gives error. So there are some point where Clipper permits to assign values using parenthesis and in other not, but surely because classes are implemented differently. In any case it permits to read a value using parenthesis. Harbour already permits to read all using parenthesis. The need is to permit assignment to a function assigning rvalue so: o:AssignMethod := 1 it should be the same of o:AssignMethod( 1 ) or oTBrowse:addColumn := oTBColumns In case of a var not exists with same name of a method (but today can it exists ?). Best Regards Francesco ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] 2008-10-22 05:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
2008-10-22 05:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbstack.h * harbour/include/hbgtcore.h * harbour/include/hbthread.h * harbour/include/hbapigt.h * harbour/source/vm/estack.c * harbour/source/vm/hvm.c * harbour/source/vm/thread.c * harbour/source/rtl/hbgtcore.c + added support for optional allocating independent console window by each thread. By default new thread inherits console Window from parent thread. But each thread can allocate its own console window by calling hb_gtReload( ) function, f.e. by: hb_gtReload( hb_gtVersion() ) If GT driver supports such functionality then new it will allocate new console windows. Each console window has reference counter which is increased when new thread starts and decreased when hb_gtReload() is executed or thread terminates. When counter reach zero give console window is destroyed. * harbour/source/rtl/gtwvt/gtwvt.c ! use SendNotifyMessage() instead of SendMessage() to not block threads which inherited GT from parent thread. Why non of MS-Win users reported this problem? + added reference counter to window class for multi GT support + harbour/tests/mt/mttest10.prg + added demonstration/test code for using independent console window in different threads. It needs GT driver which supports such functionality, f.e GTXWC in *nixes or GTWVT in MS-Windows * harbour/tests/mt/mttest09.prg ! fixed typo in comment best regards Przemek ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-22 05:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
Hello Przemek Przemyslaw Czerpak-2 wrote: > > 2008-10-22 05:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) > * harbour/include/hbstack.h > * harbour/include/hbgtcore.h > Thanks a lot. May be I am missing something, mttest10.exe executes but nothing is visible on the screen. And there is no referenceto the executable in the task manager. I set HB_MT=MT bld_b32 mttest10 Regards Pritpal Bedi -- View this message in context: http://www.nabble.com/2008-10-22-05%3A03-UTC%2B0200-Przemyslaw-Czerpak-%28druzus-at-priv.onet.pl%29-tp20103219p20103476.html Sent from the Harbour - Dev mailing list archive at Nabble.com. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-22 05:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
Hello Przemek Hello Przemek Przemyslaw Czerpak-2 wrote: > > 2008-10-22 05:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) > * harbour/include/hbstack.h > * harbour/include/hbgtcore.h > Please ignore my previos post. May be build process needs something more. I tried with my tests/wvtext.prg with my own tools, works fine. Excellent!!! Flawless!!! And exactly what I had in mind. Mindblowing Hats off to you. With best Regards Pritpal Bedi -- View this message in context: http://www.nabble.com/2008-10-22-05%3A03-UTC%2B0200-Przemyslaw-Czerpak-%28druzus-at-priv.onet.pl%29-tp20103219p20104237.html Sent from the Harbour - Dev mailing list archive at Nabble.com. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] 2008-10-22 23:01 UTC-0800 Pritpal Bedi ([EMAIL PROTECTED])
2008-10-22 23:01 UTC-0800 Pritpal Bedi ([EMAIL PROTECTED]) * harbour/tests/wvtext.prg Updated to demonstrate multi-windows GT capabilities. A REMINDER : This development alone places Harbour much higher than so many dialects. Mind-blowing feature. I had ever longed for this functionality since I started with Xbase++. But the ease of use of a MW-GT in Harbour is far superior than in Xbase++. Spread this word. I am sure this feature alone is going to add a handsome value to my applications. I hope you all will be benefitted. I have no word of appreciation for Przemyslaw Czerpak as whatever I will say will fall short of weight. So... Regards Pritpal Bedi -- View this message in context: http://www.nabble.com/2008-10-22-23%3A01-UTC-0800-Pritpal-Bedi-%28pritpal%40vouchcac.com%29-tp20104575p20104575.html Sent from the Harbour - Dev mailing list archive at Nabble.com. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 2008-10-22 05:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
In SuSE 10.3, using gcc I get: Harbour 1.1.0dev (Rev. 9582) Copyright (c) 1999-2008, http://www.harbour-project.org/ Compiling 'wvtext.prg'... Lines 794, Functions/Procedures 9 Generating C source output to 'wvtext.c'... Done. ./wvtext.o:(.data+0x1b8): undefined reference to `HB_FUN_HB_GT_WVT' ./wvtext.o:(.data+0x1c8): undefined reference to `HB_FUN_HB_GT_WIN' collect2: ld returned 1 exit status In XP, using bcc32, the program compiles successfully, but when wvtext.exe is run, the program promptly returns to the prompt with nothing else visible on the screen. Are environment parameters required? Bill On Tue, 2008-10-21 at 20:38 -0700, Pritpal Bedi wrote: > Hello Przemek > > > Przemyslaw Czerpak-2 wrote: > > > > 2008-10-22 05:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) > > * harbour/include/hbstack.h > > * harbour/include/hbgtcore.h > > > > Thanks a lot. > > May be I am missing something, mttest10.exe executes but nothing is > visible on the screen. And there is no referenceto the executable in the > task manager. > > I set HB_MT=MT > bld_b32 mttest10 > > Regards > Pritpal Bedi > ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour