Changeset: 11 Changeset: 11 Creación de proyectos y clases ahora se hacen con SQL, porque BUILD PROJ y CREATE CLASSLIB no funcionan en un EXE
This commit is contained in:
194
foxbin2prg.prg
194
foxbin2prg.prg
@@ -776,8 +776,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
+ [<memberdata name="getclasspropertycomment" type="method" display="getClassPropertyComment"/>] ;
|
+ [<memberdata name="getclasspropertycomment" type="method" display="getClassPropertyComment"/>] ;
|
||||||
+ [<memberdata name="get_listnameswithvaluesfrom_inline_metadatatag" type="method" display="get_ListNamesWithValuesFrom_InLine_MetadataTag"/>] ;
|
+ [<memberdata name="get_listnameswithvaluesfrom_inline_metadatatag" type="method" display="get_ListNamesWithValuesFrom_InLine_MetadataTag"/>] ;
|
||||||
+ [<memberdata name="classprops2memo" type="method" display="classProps2Memo"/>] ;
|
+ [<memberdata name="classprops2memo" type="method" display="classProps2Memo"/>] ;
|
||||||
+ [<memberdata name="createform" type="method" display="createForm"/>] ;
|
|
||||||
+ [<memberdata name="createclasslib" type="method" display="createClasslib"/>] ;
|
+ [<memberdata name="createclasslib" type="method" display="createClasslib"/>] ;
|
||||||
|
+ [<memberdata name="createform" type="method" display="createForm"/>] ;
|
||||||
|
+ [<memberdata name="createproject" type="method" display="createProject"/>] ;
|
||||||
+ [<memberdata name="defined_pem2memo" type="method" display="defined_PEM2Memo"/>] ;
|
+ [<memberdata name="defined_pem2memo" type="method" display="defined_PEM2Memo"/>] ;
|
||||||
+ [<memberdata name="escribirarchivobin" type="method" display="escribirArchivoBin"/>] ;
|
+ [<memberdata name="escribirarchivobin" type="method" display="escribirArchivoBin"/>] ;
|
||||||
+ [<memberdata name="evaluate_pem" type="method" display="Evaluate_PEM"/>] ;
|
+ [<memberdata name="evaluate_pem" type="method" display="Evaluate_PEM"/>] ;
|
||||||
@@ -1107,11 +1108,130 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************
|
||||||
|
PROCEDURE createProject
|
||||||
|
LPARAMETERS toProject
|
||||||
|
|
||||||
|
#IF .F.
|
||||||
|
LOCAL toProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
*-- Esto no funciona con el runtime
|
||||||
|
*STRTOFILE( '', '__newproject.f2b' )
|
||||||
|
*BUILD PROJECT (THIS.c_outputFile) FROM '__newproject.f2b'
|
||||||
|
*ERASE ( '__newproject.f2b' )
|
||||||
|
|
||||||
|
CREATE TABLE (THIS.c_outputFile) ;
|
||||||
|
( NAME M ;
|
||||||
|
, TYPE C(1) ;
|
||||||
|
, ID N(10) ;
|
||||||
|
, TIMESTAMP N(10) ;
|
||||||
|
, OUTFILE M ;
|
||||||
|
, HOMEDIR M ;
|
||||||
|
, EXCLUDE L ;
|
||||||
|
, MAINPROG L ;
|
||||||
|
, SAVECODE L ;
|
||||||
|
, DEBUG L ;
|
||||||
|
, ENCRYPT L ;
|
||||||
|
, NOLOGO L ;
|
||||||
|
, CMNTSTYLE N(1) ;
|
||||||
|
, OBJREV N(5) ;
|
||||||
|
, DEVINFO M ;
|
||||||
|
, SYMBOLS M ;
|
||||||
|
, OBJECT M ;
|
||||||
|
, CKVAL N(6) ;
|
||||||
|
, CPID N(5) ;
|
||||||
|
, OSTYPE C(4) ;
|
||||||
|
, OSCREATOR C(4) ;
|
||||||
|
, COMMENTS M ;
|
||||||
|
, RESERVED1 M ;
|
||||||
|
, RESERVED2 M ;
|
||||||
|
, SCCDATA M ;
|
||||||
|
, LOCAL L ;
|
||||||
|
, KEY C(32) ;
|
||||||
|
, USER M )
|
||||||
|
|
||||||
|
USE (THIS.c_outputFile) ALIAS TABLABIN AGAIN SHARED
|
||||||
|
INSERT INTO TABLABIN ;
|
||||||
|
( NAME ;
|
||||||
|
, TYPE ;
|
||||||
|
, TIMESTAMP ;
|
||||||
|
, OUTFILE ;
|
||||||
|
, HOMEDIR ;
|
||||||
|
, SAVECODE ;
|
||||||
|
, DEBUG ;
|
||||||
|
, ENCRYPT ;
|
||||||
|
, NOLOGO ;
|
||||||
|
, CMNTSTYLE ;
|
||||||
|
, OBJREV ;
|
||||||
|
, DEVINFO ;
|
||||||
|
, OBJECT ;
|
||||||
|
, RESERVED1 ;
|
||||||
|
, RESERVED2 ;
|
||||||
|
, LOCAL ;
|
||||||
|
, KEY ) ;
|
||||||
|
VALUES ;
|
||||||
|
( UPPER(THIS.c_outputFile) ;
|
||||||
|
, 'H' ;
|
||||||
|
, 0 ;
|
||||||
|
, '<Source>' + CHR(0) ;
|
||||||
|
, toProject._HomeDir + CHR(0) ;
|
||||||
|
, toProject._SaveCode ;
|
||||||
|
, toProject._Debug ;
|
||||||
|
, toProject._Encrypted ;
|
||||||
|
, toProject._NoLogo ;
|
||||||
|
, toProject._CmntStyle ;
|
||||||
|
, 260 ;
|
||||||
|
, toProject.getRowDeviceInfo() ;
|
||||||
|
, toProject._HomeDir + CHR(0) ;
|
||||||
|
, UPPER(THIS.c_outputFile) ;
|
||||||
|
, toProject._ServerHead.getRowServerInfo() ;
|
||||||
|
, .T. ;
|
||||||
|
, UPPER( JUSTSTEM( THIS.c_outputFile) ) )
|
||||||
|
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE createClasslib
|
PROCEDURE createClasslib
|
||||||
|
|
||||||
CREATE CLASSLIB (THIS.c_outputFile)
|
* No funciona con el EXE
|
||||||
|
*CREATE CLASSLIB (THIS.c_outputFile)
|
||||||
|
|
||||||
|
CREATE TABLE (THIS.c_outputFile) ;
|
||||||
|
( PLATFORM C(8) ;
|
||||||
|
, UNIQUEID C(10) ;
|
||||||
|
, TIMESTAMP N(10) ;
|
||||||
|
, CLASS M ;
|
||||||
|
, CLASSLOC M ;
|
||||||
|
, BASECLASS M ;
|
||||||
|
, OBJNAME M ;
|
||||||
|
, PARENT M ;
|
||||||
|
, PROPERTIES M ;
|
||||||
|
, PROTECTED M ;
|
||||||
|
, METHODS M ;
|
||||||
|
, OBJCODE M NOCPTRANS ;
|
||||||
|
, OLE M ;
|
||||||
|
, OLE2 M ;
|
||||||
|
, RESERVED1 M ;
|
||||||
|
, RESERVED2 M ;
|
||||||
|
, RESERVED3 M ;
|
||||||
|
, RESERVED4 M ;
|
||||||
|
, RESERVED5 M ;
|
||||||
|
, RESERVED6 M ;
|
||||||
|
, RESERVED7 M ;
|
||||||
|
, RESERVED8 M ;
|
||||||
|
, USER M )
|
||||||
|
|
||||||
USE (THIS.c_outputFile) ALIAS TABLABIN AGAIN SHARED
|
USE (THIS.c_outputFile) ALIAS TABLABIN AGAIN SHARED
|
||||||
|
INSERT INTO TABLABIN ;
|
||||||
|
( PLATFORM ;
|
||||||
|
, UNIQUEID ;
|
||||||
|
, RESERVED1 ) ;
|
||||||
|
VALUES ;
|
||||||
|
( 'COMMENT' ;
|
||||||
|
, 'Class' ;
|
||||||
|
, 'VERSION = 3.00' )
|
||||||
|
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
@@ -2542,11 +2662,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
|||||||
THIS.doBackup()
|
THIS.doBackup()
|
||||||
|
|
||||||
*-- Creo solo la cabecera del proyecto
|
*-- Creo solo la cabecera del proyecto
|
||||||
STRTOFILE( '', '__newproject.f2b' )
|
THIS.createProject( toProject )
|
||||||
BUILD PROJECT (THIS.c_outputFile) FROM '__newproject.f2b'
|
|
||||||
ERASE ( '__newproject.f2b' )
|
|
||||||
|
|
||||||
USE (THIS.c_outputFile) ALIAS TABLABIN AGAIN SHARED
|
|
||||||
|
|
||||||
lcMainProg = ''
|
lcMainProg = ''
|
||||||
|
|
||||||
@@ -2555,29 +2671,46 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- Actualizo informaci<63>n del HEADER
|
*-- Actualizo informaci<63>n del HEADER
|
||||||
SCATTER FIELDS DEVINFO,RESERVED2,CMNTSTYLE,NOLOGO,SAVECODE MEMO NAME loReg
|
*SCATTER FIELDS DEVINFO,RESERVED2,CMNTSTYLE,NOLOGO,SAVECODE MEMO NAME loReg
|
||||||
loReg.DEVINFO = toProject.getRowDeviceInfo()
|
*loReg.DEVINFO = toProject.getRowDeviceInfo()
|
||||||
loServerHead = toProject._ServerHead
|
*loServerHead = toProject._ServerHead
|
||||||
loReg.RESERVED2 = loServerHead.getRowServerInfo()
|
*loReg.RESERVED2 = loServerHead.getRowServerInfo()
|
||||||
loReg.CMNTSTYLE = toProject._CmntStyle
|
*loReg.CMNTSTYLE = toProject._CmntStyle
|
||||||
loReg.NOLOGO = toProject._NoLogo
|
*loReg.NOLOGO = toProject._NoLogo
|
||||||
loReg.SAVECODE = toProject._SaveCode
|
*loReg.SAVECODE = toProject._SaveCode
|
||||||
GATHER NAME loReg FIELDS DEVINFO,RESERVED2,CMNTSTYLE,NOLOGO,SAVECODE MEMO
|
*GATHER NAME loReg FIELDS DEVINFO,RESERVED2,CMNTSTYLE,NOLOGO,SAVECODE MEMO
|
||||||
|
|
||||||
*-- Si hay ProjectHook, reutilizo registro del archivo dummy
|
*-- Si hay ProjectHook, reutilizo registro del archivo dummy
|
||||||
GOTO RECORD 2
|
*GOTO RECORD 2
|
||||||
|
|
||||||
IF EMPTY(toProject._ProjectHookLibrary)
|
*IF EMPTY(toProject._ProjectHookLibrary)
|
||||||
*-- Erase Dummy file record '__newproject.f2b'
|
* *-- Erase Dummy file record '__newproject.f2b'
|
||||||
DELETE
|
* DELETE
|
||||||
ELSE
|
*ELSE
|
||||||
*-- PROJECT HOOK
|
* *-- PROJECT HOOK
|
||||||
REPLACE ;
|
* REPLACE ;
|
||||||
NAME WITH toProject._ProjectHookLibrary + CHR(0), ;
|
* NAME WITH toProject._ProjectHookLibrary + CHR(0), ;
|
||||||
TYPE WITH 'W', ;
|
* TYPE WITH 'W', ;
|
||||||
EXCLUDE WITH .T., ;
|
* EXCLUDE WITH .T., ;
|
||||||
KEY WITH UPPER(JUSTSTEM(toProject._ProjectHookLibrary)), ;
|
* KEY WITH UPPER(JUSTSTEM(toProject._ProjectHookLibrary)), ;
|
||||||
RESERVED1 WITH toProject._ProjectHookClass + CHR(0)
|
* RESERVED1 WITH toProject._ProjectHookClass + CHR(0)
|
||||||
|
*ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
*-- Si hay ProjectHook de proyecto, lo inserto
|
||||||
|
IF NOT EMPTY(toProject._ProjectHookLibrary)
|
||||||
|
INSERT INTO TABLABIN ;
|
||||||
|
( NAME ;
|
||||||
|
, TYPE ;
|
||||||
|
, EXCLUDE ;
|
||||||
|
, KEY ;
|
||||||
|
, RESERVED1 ) ;
|
||||||
|
VALUES ;
|
||||||
|
( toProject._ProjectHookLibrary + CHR(0) ;
|
||||||
|
, 'W' ;
|
||||||
|
, .T. ;
|
||||||
|
, UPPER(JUSTSTEM(toProject._ProjectHookLibrary)) ;
|
||||||
|
, toProject._ProjectHookClass + CHR(0) )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- Si hay ICONO de proyecto, lo inserto
|
*-- Si hay ICONO de proyecto, lo inserto
|
||||||
@@ -3744,8 +3877,13 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
|||||||
ENDTEXT
|
ENDTEXT
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
IF NOT EMPTY(loProject._Icon)
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<C_TAB>>.Icon = lcCurdir + '<<loProject._Icon>>'
|
||||||
|
ENDTEXT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<C_TAB>>.Icon = lcCurdir + '<<loProject._Icon>>'
|
|
||||||
<<C_TAB>>.Debug = <<loProject._Debug>>
|
<<C_TAB>>.Debug = <<loProject._Debug>>
|
||||||
<<C_TAB>>.Encrypted = <<loProject._Encrypted>>
|
<<C_TAB>>.Encrypted = <<loProject._Encrypted>>
|
||||||
<<C_TAB>>*<.CmntStyle = <<loProject._CmntStyle>> />
|
<<C_TAB>>*<.CmntStyle = <<loProject._CmntStyle>> />
|
||||||
|
|||||||
Reference in New Issue
Block a user