HMG 3.0.39

HMG announcements; Latest HMG-related news, releases, fixes and updates.

Moderator: Rathinagiri

User avatar
apais
Posts: 324
Joined: Fri Aug 01, 2008 6:03 pm
Location: uruguay
Has thanked: 54 times
Been thanked: 33 times
Contact:

Re: HMG 3.0.39

Post by apais » Thu Sep 29, 2011 4:58 pm

I think it's time to replace HMG's global array with something more readable and equaly fast or faster: a hash

This way this: _HMG_SYSDATA [ 284 ] := .F.
becomes something like : _HMG_SYSDATA [ "set_navigationmode_excel" ] := .F.


Got it ?

HTH
Angel

User avatar
Roberto Lopez
HMG Founder
Posts: 3982
Joined: Wed Jul 30, 2008 6:43 pm
Has thanked: 27 times
Been thanked: 168 times

Post by Roberto Lopez » Thu Sep 29, 2011 7:25 pm

Ok.

I hope this will be the final version :)

This new version automatically puts you in edit mode, besides to driving you down or left when accepting changes with ENTER or TAB.

At first, add the two following about line #650 of h_init.prg:

Code: Select all

	_HMG_SYSDATA [ 284 ] := .F.
	_HMG_SYSDATA [ 285 ] := .F.
Then, the following function in h_grid.prg:

Code: Select all

*-----------------------------------------------------------------------------*
FUNCTION _HMG_GRIDINPLACEEDIT(IDX)
*-----------------------------------------------------------------------------*
Local r , c , h , i , aTemp , ri , ci , X , DW := 0, DH := 0 , DR := 0 , DC := 0
LOCAL AEDITCONTROLS
LOCAL AEC := 'TEXTBOX' 
LOCAL AITEMS := {}
LOCAL ARANGE := {}
LOCAL DTYPE := 'D'
LOCAL ALABELS := { '.T.' ,'.F.' }
LOCAL CTYPE := 'CHARACTER'
LOCAL CINPUTMASK := ''
LOCAL CFORMAT := ''
LOCAL XRES := {}
LOCAL CVA 
LOCAL CWH
LOCAL VALID
LOCAL WHEN
LOCAL GFN 
LOCAL GFS 
LOCAL V
Local nWx := 0
Local nHx := 0
LOCAL ARETURNVALUES
LOCAL Z
Local xValue := 0
Local cRecordSource
Local b

	If _HMG_SYSDATA [ 232 ] == 'GRID_WHEN' 
		MsgHMGError("GRID: Editing within a grid 'when' event procedure is not allowed. Program terminated" )
	EndIf
	If _HMG_SYSDATA [ 232 ] == 'GRID_VALID' 
		MsgHMGError("GRID: Editing within a grid 'valid' event procedure is not allowed. Program terminated" )
	EndIf


	IF _HMG_SYSDATA [32] [idx] == .F.

		If This.CellRowIndex != LISTVIEW_GETFIRSTITEM ( _HMG_SYSDATA [3] [ idx ] )
			Return .f. 
		EndIf

	ELSE

		If This.CellRowIndex != _HMG_SYSDATA [39] [ idx ]
			Return .f.
		EndIf

	ENDIF

	ri := This.CellRowIndex
	ci := This.CellColIndex

	if ri == 0 .or. ci == 0
		return  .f.
	endif

	IF valtype ( _HMG_SYSDATA [ 40 ] [ idx ] [ 10 ] ) == 'C'

		if IsDataGridDeleted ( idx , ri )
			return .f.
		endif

		cRecordSource	:= _HMG_SYSDATA [ 40 ] [ idx ] [ 10 ]

		if &cRecordSource->(RddName()) == 'PGRDD'
			MsgHMGError("GRID: Modify PostGre RDD tables is not allowed. Program terminated" )
		endif

		if &cRecordSource->(RddName()) == 'SQLMIX'
			MsgHMGError("GRID: Modify SQLMIX RDD tables is not allowed. Program terminated" )
		endif

	endif

	GFN := _HMG_SYSDATA [ 27 ] [idx]
	GFS := _HMG_SYSDATA [ 28 ] [idx]


//Problem3031

	IF _HMG_SYSDATA [ 40 ] [ idx ] [ 9 ] == .F.

		aTemp := this.item(ri)

		v := aTemp [ci]

	ELSE

		_HMG_SYSDATA [ 201 ] := ri	// QueryRowIndex

		_HMG_SYSDATA [ 202 ] := ci	// QueryColIndex

		_HMG_SYSDATA [ 320 ] := .T.

		IF valtype ( _HMG_SYSDATA [ 40 ] [ idx ] [ 10 ] ) == 'C'

			GetDataGridCellData ( idx , .t. )

		ELSE

			Eval( _HMG_SYSDATA [  6 ] [ idx ]  )		

		ENDIF


		_HMG_SYSDATA [ 320 ] := .F.


		v := _HMG_SYSDATA [ 230 ]		// QueryData

	ENDIF

	CWH := 	_HMG_SYSDATA [40] [IDX] [6]

//Problem3031

	IF VALTYPE ( CWH ) = 'A'

		IF LEN ( CWH ) >= CI

			IF VALTYPE ( CWH [CI] ) = 'B'

				_HMG_SYSDATA [ 318 ] := V

				_HMG_SYSDATA [ 232 ] := 'GRID_WHEN'

				WHEN := EVAL ( CWH [CI] )

				_HMG_SYSDATA [ 232 ] := ''

				IF WHEN = .F.
					_HMG_SYSDATA [ 256 ] := .F.
					RETURN .f.
				ENDIF

			ENDIF

		ENDIF	

	ENDIF

	h := _HMG_SYSDATA [3] [IDX]

	r := This.CellRow + GetWindowRow ( h ) - this.row - 1

	if _HMG_SYSDATA [ 23 ]  [idx] <> -1
		r := r - _HMG_SYSDATA [ 23 ] [idx]
	endif

	c := This.CellCol + GetWindowCol ( h ) - this.col + 2

	if _HMG_SYSDATA [ 24 ] [idx] <> -1
		c := c - _HMG_SYSDATA [ 24 ] [idx]
	endif

	AEDITCONTROLS := _HMG_SYSDATA [ 40 ] [ IDX ] [ 2 ]

	CVA := 	_HMG_SYSDATA [ 40 ] [ IDX ] [ 5 ]

	XRES := _HMG_PARSEGRIDCONTROLS ( AEDITCONTROLS , CI )

	AEC		:= XRES [1]	
	CTYPE		:= XRES [2]	
	CINPUTMASK	:= XRES [3]	
	CFORMAT		:= XRES [4]	
	AITEMS		:= XRES [5]	
	ARANGE		:= XRES [6]	
	DTYPE		:= XRES [7]	
	ALABELS		:= XRES [8]	
	ARETURNVALUES	:= XRES [9]

	IF AEC = 'COMBOBOX'
		DH := 1
	ELSEIF AEC = 'CHECKBOX'
		DR := 3
		DH := -7
	ELSEIF AEC = 'EDITBOX'
		_HMG_SYSDATA [321] := .T.
	ENDIF

	_HMG_SYSDATA [ 109 ] := GetActiveWindow()


	* Grid Valid Event Procedure Values

	_HMG_SYSDATA [ 209 ] := idx

	*

	_HMG_SYSDATA [ 245 ] := .F.

	IF AEC = 'EDITBOX'

		// + IF ( IsVista() .and. IsAppThemed() , 9 , 0 )
		// + IF ( IsVista() .and. IsAppThemed() , 6 , 0 )

		DEFINE WINDOW _hmg_grid_inplaceedit AT 0 , 0 ;
			WIDTH	350	 ;
			HEIGHT	350 + IF ( IsAppThemed() , 3 , 0 ) ;
			TITLE _HMG_SYSDATA [  7 ] [ idx ] [ ci ] ;
			MODAL ;
			NOSIZE ;
			SHORTTITLEBAR 

	else

		DEFINE WINDOW _hmg_grid_inplaceedit AT r + DR , c + DC ;
			WIDTH This.CellWidth +  DW ;
			HEIGHT This.CellHeight + 6 + DH ;
			TITLE '' ;
			MODAL NOSIZE NOCAPTION 

	endif

	ON KEY ESCAPE ACTION ( _HMG_SYSDATA [ 256 ] := .T. , THISWINDOW.RELEASE )



	IF AEC = 'EDITBOX' 

		ON KEY CONTROL+W ACTION IF ( _ISWINDOWACTIVE ( '_hmg_grid_inplaceedit' ) , ( _HMG_SYSDATA [ 256 ] := .F. , _HMG_GRIDINPLACEEDITOK ( IDX , CI , RI , AEC , ALABELS , CTYPE , CINPUTMASK , CFORMAT , CVA , aReturnValues ) ) , NIL )

		define button ok
			row	298
			col	278 - IF ( IsAppThemed() , 1 , 0 ) 
			width	28
			height	28
			action	IF ( _ISWINDOWACTIVE ( '_hmg_grid_inplaceedit' ) , ( _HMG_SYSDATA [ 256 ] := .F. , _HMG_GRIDINPLACEEDITOK ( IDX , CI , RI , AEC , ALABELS , CTYPE , CINPUTMASK , CFORMAT , CVA , aReturnValues ) ) , NIL )
			picture	'GRID_MSAV'
			tooltip _hmg_sysdata [ 133 ] [ 12 ] + ' [Ctrl+W]' 
		end button

		define button cancel
			row	298
			col	312 - IF ( IsAppThemed() , 1 , 0 ) 
			width	28
			height	28
			action	( _HMG_SYSDATA [ 256 ] := .T. , THISWINDOW.RELEASE )
			picture	'GRID_MCAN'
			tooltip _hmg_sysdata [ 133 ] [ 13 ] + ' [Esc]' 
		end button


	ELSE

		ON KEY RETURN ACTION IF ( _ISWINDOWACTIVE ( '_hmg_grid_inplaceedit' ) , (                               _HMG_SYSDATA [ 256 ] := .F. , _HMG_GRIDINPLACEEDITOK ( IDX , CI , RI , AEC , ALABELS , CTYPE , CINPUTMASK , CFORMAT , CVA , aReturnValues ) ) , NIL )
		ON KEY TAB    ACTION ( _HMG_SYSDATA [ 285 ] := .T. , InsertReturn() )

	ENDIF


	ON KEY F2 ACTION IF ( _ISWINDOWACTIVE ( '_hmg_grid_inplaceedit' ) , ( _HMG_SYSDATA [ 256 ] := .F. , _HMG_GRIDINPLACEEDITOK ( IDX , CI , RI , AEC , ALABELS , CTYPE , CINPUTMASK , CFORMAT , CVA , aReturnValues ) ) , NIL )


	IF AEC == 'TEXTBOX' //*****************************************

		IF _HMG_SYSDATA [321] == .F.

			DEFINE TEXTBOX T

		ELSE

			DEFINE EDITBOX T

        			HSCROLLBAR		.F.
				VSCROLLBAR		.F.

		ENDIF

		FONTNAME	GFN
		FONTSIZE	GFS

		ROW	0
		COL	0
		WIDTH 	This.CellWidth		+ nWx
		HEIGHT	This.CellHeight + 6	+ nHx

		IF CTYPE == 'NUMERIC'
			NUMERIC .T.
		ELSEIF CTYPE == 'DATE'
			DATE .T.
		ENDIF

		VALUE	v

		IF ! EMPTY ( CINPUTMASK )
			INPUTMASK CINPUTMASK
		ENDIF

		IF ! EMPTY ( CFORMAT )
			FORMAT CFORMAT
		ENDIF

		IF _HMG_SYSDATA [321] == .F.
			END TEXTBOX
		ELSE
			END EDITBOX
		ENDIF


	ELSEIF AEC == 'EDITBOX' //**********************************************
	
		DEFINE EDITBOX T
			HSCROLLBAR	.T.
			VSCROLLBAR	.T.
			FONTNAME	GFN
			FONTSIZE	GFS
			ROW		2
			COL		2
			WIDTH		340
			HEIGHT		292
			VALUE		v
		END EDITBOX

	ELSEIF AEC == 'DATEPICKER' //*******************************************

		DEFINE DATEPICKER D
			FONTNAME	GFN
			FONTSIZE	GFS
			ROW		0
			COL		0
			WIDTH		This.CellWidth 
			HEIGHT		This.CellHeight + 6 
			VALUE		V
			SHOWNONE	.T.

			IF DTYPE = 'DROPDOWN'
				UPDOWN .F.
			ELSEIF DTYPE = 'UPDOWN'
				UPDOWN .T.
			ENDIF

		END DATEPICKER

	ELSEIF AEC == 'COMBOBOX' //********************************************

		DEFINE COMBOBOX C
			FONTNAME	GFN
			FONTSIZE	GFS
			ROW	0
			COL	0
			WIDTH 	This.CellWidth
			ITEMS	AITEMS

			IF LEN ( ARETURNVALUES ) == 0
				VALUE	v
			ELSE

				For z := 1 To Len ( aReturnValues )

					if v = aReturnValues [z]

						xValue := z
						exit

					endif

				Next z

				if xValue == 0
					xValue := 1
				endif

				VALUE xValue

			ENDIF

			ONDROPDOWN	_hmg_grid_disablekeys()
			ONCLOSEUP	_hmg_grid_enablekeys( IDX , CI , RI , AEC , ALABELS , CTYPE , CINPUTMASK , CFORMAT , CVA , aReturnValues )

		END COMBOBOX

	ELSEIF AEC == 'SPINNER' //*********************************************

		DEFINE SPINNER S
			FONTNAME	GFN
			FONTSIZE	GFS
        		ROW		0
			COL		0
			WIDTH 		This.CellWidth
			HEIGHT		This.CellHeight + 6
			VALUE		V
			RANGEMIN	ARANGE [1]
			RANGEMAX	ARANGE [2]
		END SPINNER

	ELSEIF AEC == 'CHECKBOX' //********************************************

		DEFINE CHECKBOX C
			FONTNAME	GFN
			FONTSIZE	GFS
			ROW		0
			COL		0
			WIDTH 		This.CellWidth + DW 
			HEIGHT		This.CellHeight + 6 + DH
			VALUE		V
		
			IF V == .T.
				CAPTION ALABELS [1]
			ELSEIF V == .F.
				CAPTION ALABELS [2]
			ENDIF

			BACKCOLOR WHITE
			ONCHANGE IF ( THIS.VALUE == .T. , THIS.CAPTION := ALABELS [1] , THIS.CAPTION := ALABELS [2] )
		END CHECKBOX

	ENDIF

	END WINDOW


	IF AEC = 'EDITBOX'

		SETFOCUS ( GetControlHandle( 't' , '_hmg_grid_inplaceedit' ) ) 

		CENTER WINDOW _hmg_grid_inplaceedit

	ENDIF

	ACTIVATE WINDOW _hmg_grid_inplaceedit

	_HMG_SYSDATA [ 109 ] := 0

	SETFOCUS ( _HMG_SYSDATA [3] [IDX] ) 

	_HMG_SYSDATA [321] := .F.

RETURN .t.
And this function in the same file:

Code: Select all

*-----------------------------------------------------------------------------*
PROCEDURE _HMG_GRIDINPLACEKBDEDIT_2(i)
*-----------------------------------------------------------------------------*
LOCAL TmpRow
LOCAL XS
LOCAL XD
LOCAL R
LOCAL IPE_MAXCOL
LOCAL S
Local aColumnWhen := _HMG_SYSDATA [ 40 ] [ i ] [  6 ] 
Local j
Local nWhenRow
Local xTmpCellValue
Local aTemp

//Problem3031

	_HMG_GRID_KBDSCROLL(I)

	If _HMG_SYSDATA [ 15 ] [i] == 1
		r := LISTVIEW_GETITEMRECT ( _HMG_SYSDATA [3] [i]  , _HMG_SYSDATA [ 39 ] [i] - 1 )
	Else
		r := LISTVIEW_GETSUBITEMRECT ( _HMG_SYSDATA [3] [i]  , _HMG_SYSDATA [ 39 ] [i]- 1 , _HMG_SYSDATA [ 15 ] [i] - 1 )
	EndIf

	nWhenRow := _HMG_SYSDATA [ 195] 

	_HMG_SYSDATA [ 197 ] := _HMG_SYSDATA [ 18 ] [i] + r [1]
	_HMG_SYSDATA [ 198 ] := _HMG_SYSDATA [ 19 ] [i] + r [2]
	_HMG_SYSDATA [ 199 ] := r[3]
	_HMG_SYSDATA [ 200 ] := r[4]

	*
	_HMG_SYSDATA [ 194 ] := ascan ( _HMG_SYSDATA [ 67  ] , _HMG_SYSDATA [4][i] )
	_HMG_SYSDATA [ 231 ] := 'C'
	_HMG_SYSDATA [ 203 ] := i
	_HMG_SYSDATA [ 316 ] :=  _HMG_SYSDATA [  66 ] [ _HMG_SYSDATA [ 194 ] ]  
	_HMG_SYSDATA [ 317 ] :=  _HMG_SYSDATA [2] [_HMG_SYSDATA [ 203 ]]
	*

	S := _HMG_GRIDINPLACEEDIT(I)

	IF _HMG_SYSDATA [ 32 ] [I] .AND. _HMG_SYSDATA [ 245 ] == .F.

		IF	_HMG_SYSDATA [ 15 ] [I] < LEN(_HMG_SYSDATA [  7 ] [I])

			IF _HMG_SYSDATA [ 40 ] [ I ] [ 32 ] == 0

			        IF S

					IF .NOT. _HMG_SYSDATA [ 285 ] 
*!!!!
						IF _HMG_SYSDATA [ 284 ] 
							IF .NOT. _HMG_SYSDATA [ 256 ] 
								InsertDown()
								InsertReturn()
							ENDIF
						ELSE
							_HMG_SYSDATA [ 15 ] [I]++
						ENDIF

					ELSE

						_HMG_SYSDATA [ 15 ] [I]++
						_HMG_SYSDATA [ 285 ] := .F.
						InsertReturn()

					ENDIF


					If ValType ( aColumnWhen ) == 'A'

						nStart := _HMG_SYSDATA [ 15 ] [I] 
	
						nEnd := Len ( aColumnWhen )

						For j := nStart To nEnd

							If ValType ( aColumnWhen [j] ) == 'B'

*******************************************************************************************************************************
								IF _HMG_SYSDATA [ 40 ] [ i ] [ 9 ] == .F.
									aTemp := this.item( nWhenRow )
									xTmpCellValue := aTemp [j]
								ELSE
									_HMG_SYSDATA [ 201 ] := nWhenRow // QueryRowIndex
									_HMG_SYSDATA [ 202 ] := j	// QueryColIndex
									_HMG_SYSDATA [ 320 ] := .T.
									IF valtype ( _HMG_SYSDATA [ 40 ] [ i ] [ 10 ] ) == 'C'
										GetDataGridCellData ( i , .t. )
									ELSE
										Eval( _HMG_SYSDATA [  6 ] [ i ]  )		
									ENDIF
									_HMG_SYSDATA [ 320 ] := .F.
									xTmpCellValue := _HMG_SYSDATA [ 230 ]	
								ENDIF
********************************************************************************************************************************

								_HMG_SYSDATA [ 318 ] := xTmpCellValue

								_HMG_SYSDATA [ 232 ] := 'GRID_WHEN'

								lResult := Eval ( aColumnWhen [j] )

								_HMG_SYSDATA [ 232 ] := ''

								If lResult == .F.

									_HMG_SYSDATA [ 15 ] [I]++
								
								Else

									Exit

								EndIf

							EndIf

						Next j

						IF .NOT. _HMG_SYSDATA [ 284 ]

	                                                IF _HMG_SYSDATA [ 15 ] [I] > nEnd

								_HMG_SYSDATA [ 15 ] [I] := nStart - 1

							ENDIF

						ENDIF

					EndIf

				ENDIF

			ENDIF

		ELSEIF _HMG_SYSDATA [ 15 ] [I] == LEN(_HMG_SYSDATA [  7 ] [I])

			IF _HMG_SYSDATA [ 40 ] [ I ] [ 32 ] == 0

			        IF S

					IF .NOT. _HMG_SYSDATA [ 285 ] 

						IF .NOT. _HMG_SYSDATA [ 284 ]
							_HMG_SYSDATA [ 15 ] [I] := 1
						ELSE
							IF .NOT. _HMG_SYSDATA [ 256 ] 
								InsertDown()
								InsertReturn()
							ENDIF
						ENDIF

					ELSE

						_HMG_SYSDATA [ 15 ] [I] := 1
						_HMG_SYSDATA [ 285 ] := .F.

					ENDIF

				ENDIF

			ENDIF

		ENDIF

		LISTVIEW_REDRAWITEMS( _HMG_SYSDATA[3][I] , _HMG_SYSDATA[39][I]-1 , _HMG_SYSDATA[39][I]-1 )
		_DoControlEventProcedure ( _HMG_SYSDATA [ 12 ] [i] , i )

	ENDIF

	_HMG_SYSDATA [ 203 ] := 0
	_HMG_SYSDATA [ 231 ] := ''

	_HMG_SYSDATA [ 195 ] := 0
	_HMG_SYSDATA [ 196 ] := 0
	_HMG_SYSDATA [ 197 ] := 0
	_HMG_SYSDATA [ 198 ] := 0
	_HMG_SYSDATA [ 199 ] := 0
	_HMG_SYSDATA [ 200 ] := 0

	*
	_HMG_SYSDATA [ 194 ] := 0
	_HMG_SYSDATA [ 232 ] := ''
	_HMG_SYSDATA [ 316 ] :=  ''
	_HMG_SYSDATA [ 317 ] := ''
	*

RETURN
Please, test it and report any problem found.

TIA.
Regards/Saludos,

Roberto


(Veritas Filia Temporis)

mrduck
Posts: 497
Joined: Fri Sep 10, 2010 5:22 pm

Post by mrduck » Thu Sep 29, 2011 10:04 pm

apais wrote:I think it's time to replace HMG's global array with something more readable and equaly fast or faster: a hash

This way this: _HMG_SYSDATA [ 284 ] := .F.
becomes something like : _HMG_SYSDATA [ "set_navigationmode_excel" ] := .F.


Got it ?
I don't think a hash is quicker than array...

anyway, simple #define can be useful

#define NAVIGATIONMODE_EXCEL 284
_HMG_SYSDATA[NAVIGATIONMODE_EXCEL] := .F.

User avatar
Roberto Lopez
HMG Founder
Posts: 3982
Joined: Wed Jul 30, 2008 6:43 pm
Has thanked: 27 times
Been thanked: 168 times

Post by Roberto Lopez » Thu Sep 29, 2011 11:45 pm

mrduck wrote:
apais wrote:I think it's time to replace HMG's global array with something more readable and equaly fast or faster: a hash

This way this: _HMG_SYSDATA [ 284 ] := .F.
becomes something like : _HMG_SYSDATA [ "set_navigationmode_excel" ] := .F.


Got it ?
I don't think a hash is quicker than array...

anyway, simple #define can be useful

#define NAVIGATIONMODE_EXCEL 284
_HMG_SYSDATA[NAVIGATIONMODE_EXCEL] := .F.

To make it consistent with all other HMG's global settings it must be done in the following way:

Code: Select all

#command SET NAVIGATIONMODE EXCEL => _HMG_SYSDATA [ 284 ] := .T.
#command SET NAVIGATIONMODE STANDARD => _HMG_SYSDATA [ 284 ] := .F.
Or whatever be its final name (perhaps is no so much elegant to have a product name there).
Regards/Saludos,

Roberto


(Veritas Filia Temporis)

Fabio_Tontini
Posts: 3
Joined: Mon Sep 05, 2011 1:05 pm

Post by Fabio_Tontini » Fri Sep 30, 2011 7:24 pm

Hello, I compile the demo program postgresql (samples/postgresql.1), but did not compile, error in the library has postgresql as log file attachment.

Harbour 3.1.0dev (Rev. 17036)
Copyright (c) 1999-2011, http://harbour-project.org/
C:/DOCUME~1/FABIO~3.UNI/CONFIG~1/Temp/hbmk_xj8xgv.dir/demo.o:demo.c:(.data+0x38): undefined reference to `HB_FUN_DBPGCONNECTION'
C:/DOCUME~1/FABIO~3.UNI/CONFIG~1/Temp/hbmk_xj8xgv.dir/demo.o:demo.c:(.data+0x258): undefined reference to `HB_FUN_PGRDD'
C:/hmg.3.0.39/harbour/lib/win/mingw/libhbpgsql.a(postgres.o):postgres.c:(.text+0x16): undefined reference to `PQfreeCancel'
C:/hmg.3.0.39/harbour/lib/win/mingw/libhbpgsql.a(postgres.o):postgres.c:(.text+0x46): undefined reference to `PQclear'
C:/hmg.3.0.39/harbour/lib/win/mingw/libhbpgsql.a(postgres.o):postgres.c:(.text+0x76): undefined reference to `PQfinish'

User avatar
danielcrocciari
Posts: 17
Joined: Thu Feb 11, 2010 12:56 am
DBs Used: DBF, MySQL, SQLite
Location: Nagano - Japão
Contact:

Post by danielcrocciari » Mon Oct 03, 2011 5:22 pm

I installed the version 39 of HMG in an Intel Core 2 Duo T6570, Windows 7 Ultimate operating system and also with Windows XP, after performing this installation, I tried to run a project that runs perfectly on a desktop computer with Intel Core2 Windows XP version with the HMG 35, and the following error occurs in the HMG-IDE when I try to put a move componet in the form:

Error BASE/1004 no exported method: EVAL

I wait for help, or even an account of someone who has already gone through this problem.

Thank you.
Attachments
error base1004.jpg
error base1004.jpg (37.44 KiB) Viewed 4834 times
Daniel Crocciari
Brasil - Japan
Projetos HMGLights

HMGLights Site
http://hmglights.wordpress.com/


Canal do YouTube
http://www.youtube.com/hmglights


Céu Azul Tecnologia & Software
http://www.ceuazul.net

User avatar
danielcrocciari
Posts: 17
Joined: Thu Feb 11, 2010 12:56 am
DBs Used: DBF, MySQL, SQLite
Location: Nagano - Japão
Contact:

Post by danielcrocciari » Mon Oct 10, 2011 12:54 pm

Hello everyone!
The above error was solucioned to perform the installation of HMG with permission of the Administrator.
Thank you.
Daniel Crocciari
Brasil - Japan
Projetos HMGLights

HMGLights Site
http://hmglights.wordpress.com/


Canal do YouTube
http://www.youtube.com/hmglights


Céu Azul Tecnologia & Software
http://www.ceuazul.net

User avatar
mol
Posts: 3261
Joined: Thu Sep 11, 2008 5:31 am
Location: Myszków, Poland
Has thanked: 238 times
Been thanked: 137 times
Contact:

Post by mol » Fri Oct 14, 2011 11:32 am

Hi guys! (is any woman here?)

I've made some changes in one of my windows - and problem occurs while compilation . See image:
Image

Text fields can't have "CASE CONVERT" set to NONE!!!
What's going on?

Marek


I resolved my problem with CASECONVERT...
I've declared my own constant NONE in different module.
Sorry, my fault :lol:

Best regards, Marek
Last edited by mol on Tue Nov 15, 2011 8:21 am, edited 1 time in total.

User avatar
Rathinagiri
Posts: 5268
Joined: Tue Jul 29, 2008 6:30 pm
DBs Used: MariaDB, SQLite, SQLCipher and MySQL
Location: Sivakasi, India
Has thanked: 171 times
Been thanked: 174 times
Contact:

Post by Rathinagiri » Fri Oct 14, 2011 12:30 pm

Hi Marek,

It is working fine here. Can you provide a sample?
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.

User avatar
mol
Posts: 3261
Joined: Thu Sep 11, 2008 5:31 am
Location: Myszków, Poland
Has thanked: 238 times
Been thanked: 137 times
Contact:

Post by mol » Fri Oct 14, 2011 12:46 pm

It happens in my huge billing system. Try to refresh some .fmg file in your project and try to compile it with 3.0.39 - my form was not changed from 2011.04.27 till now - I've added two labels and two textboxes only and compilation crashes...

Post Reply