Changeset: 202 v1.19.16
- Arreglo bug vcx/scx: las propiedades pierden la visibilidad hidden/protected cuando no tienen valor asignado (Ryan Harris) - Arreglo bug vcx/scx: valor character con longitud >255 en propiedad de addobject, se regenera con tag <fb2p_value> incluido (Ryan Harris) - Arreglo bug vcx/scx: Al regenerar binario con procedimiento vacío hace que se cuelgue FoxPro al intentar modificar - Arreglo bug scx/vcx: Si la clase tiene un comentario multilínea, el binario generado se puede corromper (Tested on: Ffc\_frxcursor.vcx) - Arreglo bug: Si _memberdata contiene CR entre sus valores, esos valores pueden perderse al regenerar el tx2 - Arreglo bug: Los valores de las propiedades con espacios a la derecha pierden esos espacios - Arreglo de bug: cuando 2 o más métodos contienen el mismo nombre (ej: met y met2) se genera mal el tx2 (Ryan Harris)
This commit is contained in:
@@ -2,15 +2,17 @@
|
|||||||
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
|
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
|
||||||
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
||||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
*< FOXBIN2PRG: Version="1.19" SourceFile="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\fb2p_test.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_test.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||||
*
|
*
|
||||||
*< OLE: Nombre="cl_olecontrol" Parent="" ObjName="cl_olecontrol" OLEObject="C:\Windows\system32\richtx32.ocx" Checksum="3873290752" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7////+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDfG05c8M4BAwAAAAACAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABPAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAEoAAAAAAAAABAAAAAIAAAD+////BQAAAAYAAAD+////BwAAAP7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9giHw7j9cbELm1BAIcAJQCIUM0EggAAACKDQAA7QYAACFDNBIBAAYAoAAAAAAA//8AAP//AQAAAAAAAAAAAAAATwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABcAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcWhqIFp0dVFoYTtqZGZuW2lhZXRyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACADAAAAFJpZ2h0TWFyZ2luABEAAABODQAAAAcAAAAAAAAAAAAAAAUAAABUZXh0ABQAAABIAAAAAAsAAABPAAAAAAUAAIAAAAAAAAABAAAAAQABAAIACAAAAHtccnRmMVxhbnNpXGRlZmYwe1xmb250dGJse1xmMFxmbmlsXGxlY29udHJvbDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmY2hhcnNldDAgQXJpYWw7fX0NClx2aWV3a2luZDRcdWMxXHBhcmRcbGFuZzMwODJcZnMxOCBPbGVjb250cm9sMQ0KXHBhciB9DQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" />
|
|
||||||
*
|
*
|
||||||
DEFINE CLASS cl_commandgroup AS commandgroup && Descripci<63>n de cl_CommandGroup
|
DEFINE CLASS cl_commandgroup AS commandgroup && Descripci<63>n de cl_CommandGroup
|
||||||
*< CLASSDATA: Baseclass="commandgroup" Timestamp="2013/12/03 19:51:29" Scale="Pixels" Uniqueid="_3XW0ATDKL" />
|
*< CLASSDATA: Baseclass="commandgroup" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||||
|
|
||||||
*<DefinedPropArrayMethod>
|
*<DefinedPropArrayMethod>
|
||||||
*p: una_prop_cmgroup && Con comentario, pero sin valor
|
*p: una_prop_cmgroup && Con comentario, pero sin valor
|
||||||
*</DefinedPropArrayMethod>
|
*</DefinedPropArrayMethod>
|
||||||
|
|
||||||
ButtonCount = 2
|
ButtonCount = 2
|
||||||
Height = 66
|
Height = 66
|
||||||
Name = "cl_commandgroup"
|
Name = "cl_commandgroup"
|
||||||
@@ -33,14 +35,39 @@ DEFINE CLASS cl_commandgroup AS commandgroup && Descripci
|
|||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
|
DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
|
||||||
*< CLASSDATA: Baseclass="form" Timestamp="2014/01/07 19:58:17" Scale="Pixels" Uniqueid="_3XW0AGC4F" ProjectClassIcon="bmps\container.ico" ClassIcon="bmps\container.ico" />
|
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="bmps\container.ico" ClassIcon="bmps\container.ico" />
|
||||||
|
|
||||||
|
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
|
||||||
|
*< OBJECTDATA: ObjPath="Cl_optiongroup1" UniqueID="" Timestamp="" />
|
||||||
|
*< OBJECTDATA: ObjPath="Cl_commandgroup1" UniqueID="" Timestamp="" />
|
||||||
|
*< OBJECTDATA: ObjPath="Cl_imagen1" UniqueID="" Timestamp="" />
|
||||||
|
*< OBJECTDATA: ObjPath="Cl_imagen2" UniqueID="" Timestamp="" />
|
||||||
|
|
||||||
|
*<DefinedPropArrayMethod>
|
||||||
|
*p: chidden && Prop.Hidden
|
||||||
|
*p: cprotected && Prop.Protegida
|
||||||
|
*a: ^ahidden[1,0] && Array Oculto
|
||||||
|
*a: ^aprotected[1,0] && Array Protegido
|
||||||
|
*p: _memberdata && XML Metadata for customizable properties
|
||||||
|
*</DefinedPropArrayMethod>
|
||||||
|
|
||||||
|
HIDDEN chidden
|
||||||
|
PROTECTED cprotected
|
||||||
Caption = "Form"
|
Caption = "Form"
|
||||||
|
chidden = && Prop.Hidden
|
||||||
|
cprotected = && Prop.Protegida
|
||||||
DoCreate = .T.
|
DoCreate = .T.
|
||||||
Height = 345
|
Height = 345
|
||||||
Left = 0
|
Left = 0
|
||||||
Name = "cl_form"
|
Name = "cl_form"
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 570
|
Width = 570
|
||||||
|
_memberdata = <VFPData>
|
||||||
|
<memberdata name="ahidden" display="aHidden"/>
|
||||||
|
<memberdata name="aprotected" display="aProtected"/>
|
||||||
|
<memberdata name="chidden" display="cHidden"/>
|
||||||
|
<memberdata name="cprotected" display="cProtected"/>
|
||||||
|
</VFPData> && XML Metadata for customizable properties
|
||||||
|
|
||||||
ADD OBJECT 'Cl_commandgroup1' AS cl_commandgroup WITH ;
|
ADD OBJECT 'Cl_commandgroup1' AS cl_commandgroup WITH ;
|
||||||
BackColor = 255,128,192, ;
|
BackColor = 255,128,192, ;
|
||||||
@@ -63,7 +90,7 @@ DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
|
|||||||
Command2.Picture = bmps\carpetacerrada.bmp, ;
|
Command2.Picture = bmps\carpetacerrada.bmp, ;
|
||||||
Command2.Top = 4, ;
|
Command2.Top = 4, ;
|
||||||
Command2.Width = 104
|
Command2.Width = 104
|
||||||
*< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="commandgroup" UniqueID="_3XW0AX81B" Timestamp="2013/12/03 19:50:23" ZOrder="1000" />
|
*< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="commandgroup" />
|
||||||
|
|
||||||
ADD OBJECT 'Cl_imagen1' AS cl_imagen WITH ;
|
ADD OBJECT 'Cl_imagen1' AS cl_imagen WITH ;
|
||||||
Height = 34, ;
|
Height = 34, ;
|
||||||
@@ -73,7 +100,7 @@ DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
|
|||||||
Stretch = 1, ;
|
Stretch = 1, ;
|
||||||
Top = 276, ;
|
Top = 276, ;
|
||||||
Width = 38
|
Width = 38
|
||||||
*< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="image" UniqueID="_3XW0AGC4F" Timestamp="2014/01/07 19:58:17" ZOrder="1100" />
|
*< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="image" />
|
||||||
|
|
||||||
ADD OBJECT 'Cl_imagen2' AS cl_imagen WITH ;
|
ADD OBJECT 'Cl_imagen2' AS cl_imagen WITH ;
|
||||||
Height = 34, ;
|
Height = 34, ;
|
||||||
@@ -83,7 +110,7 @@ DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
|
|||||||
Stretch = 1, ;
|
Stretch = 1, ;
|
||||||
Top = 276, ;
|
Top = 276, ;
|
||||||
Width = 38
|
Width = 38
|
||||||
*< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="image" UniqueID="_3XW0BP1GV" Timestamp="2014/01/07 19:58:17" ZOrder="1200" />
|
*< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="image" />
|
||||||
|
|
||||||
ADD OBJECT 'Cl_optiongroup1' AS cl_optiongroup WITH ;
|
ADD OBJECT 'Cl_optiongroup1' AS cl_optiongroup WITH ;
|
||||||
BackColor = 0,128,255, ;
|
BackColor = 0,128,255, ;
|
||||||
@@ -106,7 +133,7 @@ DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
|
|||||||
Option2.Style = 1, ;
|
Option2.Style = 1, ;
|
||||||
Option2.Top = 8, ;
|
Option2.Top = 8, ;
|
||||||
Option2.Width = 104
|
Option2.Width = 104
|
||||||
*< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="optiongroup" UniqueID="_3XW0AONF4" Timestamp="2013/12/07 02:23:11" ZOrder="900" />
|
*< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="optiongroup" />
|
||||||
|
|
||||||
PROCEDURE Cl_optiongroup1.Init
|
PROCEDURE Cl_optiongroup1.Init
|
||||||
*-- Prueba para comprobar que respeta espacios y TABS del c<>digo
|
*-- Prueba para comprobar que respeta espacios y TABS del c<>digo
|
||||||
@@ -123,10 +150,12 @@ DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
|
|||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
DEFINE CLASS cl_imagen AS image OLEPUBLIC && otro ole
|
DEFINE CLASS cl_imagen AS image OLEPUBLIC && otro ole
|
||||||
*< CLASSDATA: Baseclass="image" Timestamp="2014/01/07 20:06:20" Scale="Pixels" Uniqueid="_3XW0BNCFT" />
|
*< CLASSDATA: Baseclass="image" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||||
|
|
||||||
*<DefinedPropArrayMethod>
|
*<DefinedPropArrayMethod>
|
||||||
*m: *un_metodo_de_clase && Para testear si el c<>digo se va a la clase cl_form
|
*m: *un_metodo_de_clase && Para testear si el c<>digo se va a la clase cl_form
|
||||||
*</DefinedPropArrayMethod>
|
*</DefinedPropArrayMethod>
|
||||||
|
|
||||||
Height = 16
|
Height = 16
|
||||||
Name = "cl_imagen"
|
Name = "cl_imagen"
|
||||||
Picture = bmps\sobrepostal.bmp
|
Picture = bmps\sobrepostal.bmp
|
||||||
@@ -139,7 +168,8 @@ DEFINE CLASS cl_imagen AS image OLEPUBLIC && otro ole
|
|||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
DEFINE CLASS cl_olecontrol AS olecontrol
|
DEFINE CLASS cl_olecontrol AS olecontrol
|
||||||
*< CLASSDATA: Baseclass="olecontrol" Timestamp="2013/12/03 20:17:14" Scale="Pixels" Uniqueid="_3XW0BVZ14" OLEObject="C:\Windows\system32\richtx32.ocx" CheckSum="3873290752" />
|
*< CLASSDATA: Baseclass="olecontrol" Timestamp="" Scale="Pixels" Uniqueid="" Nombre="cl_olecontrol" Parent="" ObjName="cl_olecontrol" OLEObject="C:\Windows\system32\richtx32.ocx" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7////+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDfG05c8M4BAwAAAAACAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABPAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAEoAAAAAAAAABAAAAAIAAAD+////BQAAAAYAAAD+////BwAAAP7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9giHw7j9cbELm1BAIcAJQCIUM0EggAAACKDQAA7QYAACFDNBIBAAYAoAAAAAAA//8AAP//AQAAAAAAAAAAAAAATwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABcAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcWhqIFp0dVFoYTtqZGZuW2lhZXRyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACADAAAAFJpZ2h0TWFyZ2luABEAAABODQAAAAcAAAAAAAAAAAAAAAUAAABUZXh0ABQAAABIAAAAAAsAAABPAAAAAAUAAIAAAAAAAAABAAAAAQABAAIACAAAAHtccnRmMVxhbnNpXGRlZmYwe1xmb250dGJse1xmMFxmbmlsXGxlY29udHJvbDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmY2hhcnNldDAgQXJpYWw7fX0NClx2aWV3a2luZDRcdWMxXHBhcmRcbGFuZzMwODJcZnMxOCBPbGVjb250cm9sMQ0KXHBhciB9DQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" />
|
||||||
|
|
||||||
Height = 67
|
Height = 67
|
||||||
Name = "cl_olecontrol"
|
Name = "cl_olecontrol"
|
||||||
Width = 131
|
Width = 131
|
||||||
@@ -147,13 +177,15 @@ DEFINE CLASS cl_olecontrol AS olecontrol
|
|||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
DEFINE CLASS cl_optiongroup AS optiongroup && descripcion
|
DEFINE CLASS cl_optiongroup AS optiongroup && descripcion
|
||||||
*< CLASSDATA: Baseclass="optiongroup" Timestamp="2013/12/03 19:43:10" Scale="Pixels" Uniqueid="_3XW0ALVUS" />
|
*< CLASSDATA: Baseclass="optiongroup" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||||
|
|
||||||
*<DefinedPropArrayMethod>
|
*<DefinedPropArrayMethod>
|
||||||
*m: *propiedad_de_clase_con_valor_access
|
*m: *propiedad_de_clase_con_valor_access
|
||||||
*m: *propiedad_de_clase_con_valor_assign
|
*m: *propiedad_de_clase_con_valor_assign
|
||||||
*p: propiedad_de_clase_con_valor && Tiene un valor por defecto
|
*p: propiedad_de_clase_con_valor && Tiene un valor por defecto
|
||||||
*p: propiedad_de_clase_sin_valor && Una propiedad sin valor para heredar
|
*p: propiedad_de_clase_sin_valor && Una propiedad sin valor para heredar
|
||||||
*</DefinedPropArrayMethod>
|
*</DefinedPropArrayMethod>
|
||||||
|
|
||||||
ButtonCount = 2
|
ButtonCount = 2
|
||||||
Height = 46
|
Height = 46
|
||||||
Name = "cl_optiongroup"
|
Name = "cl_optiongroup"
|
||||||
@@ -191,7 +223,8 @@ DEFINE CLASS cl_optiongroup AS optiongroup && descripcion
|
|||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
DEFINE CLASS proj_hook AS projecthook
|
DEFINE CLASS proj_hook AS projecthook
|
||||||
*< CLASSDATA: Baseclass="projecthook" Timestamp="2014/01/07 20:48:17" Scale="Pixels" Uniqueid="_3YX18LJ09" />
|
*< CLASSDATA: Baseclass="projecthook" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||||
|
|
||||||
Height = 22
|
Height = 22
|
||||||
Name = "proj_hook"
|
Name = "proj_hook"
|
||||||
Width = 23
|
Width = 23
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -133,9 +133,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
loObj.get_PropsFrom_PROTECTED( toReg_Esperado.PROTECTED, .F., @laProtected_Esperado, @lnProtected_Count_Esperado, '' )
|
loObj.get_PropsFrom_PROTECTED( toReg_Esperado.PROTECTED, .F., @laProtected_Esperado, @lnProtected_Count_Esperado, '' )
|
||||||
|
|
||||||
*-- Methods
|
*-- Methods
|
||||||
loObj.get_ADD_OBJECT_METHODS( toReg, toReg, '', @laMethods, '', @lnMethods_Count )
|
loObj.get_ADD_OBJECT_METHODS( toReg, toReg, '', @laMethods, '', @lnMethods_Count, '', 0, '', 0 )
|
||||||
loObj.get_ADD_OBJECT_METHODS( toReg_Esperado, toReg_Esperado, '', @laMethods_Esperado, '', @lnMethods_Count_Esperado )
|
loObj.get_ADD_OBJECT_METHODS( toReg_Esperado, toReg_Esperado, '', @laMethods_Esperado, '', @lnMethods_Count_Esperado, '', 0, '', 0 )
|
||||||
|
|
||||||
lcExtraData = tcParent + '.' + tcObjName + ' (' + tcClass + ')'
|
lcExtraData = tcParent + '.' + tcObjName + ' (' + tcClass + ')'
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -234,7 +234,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indic
|
|||||||
FUNCTION Deberia_analizarAsignacion_TAG__memberdata__EnUnaAsignacion_MultiLine
|
FUNCTION Deberia_analizarAsignacion_TAG__memberdata__EnUnaAsignacion_MultiLine
|
||||||
LOCAL lnCodError, lcMenError, lnCodError_Esperado ;
|
LOCAL lnCodError, lcMenError, lnCodError_Esperado ;
|
||||||
, lcPropName, lcPropValue, laProps(1,2), lnProp_Count, I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, lcMemo ;
|
, lcPropName, lcPropValue, laProps(1,2), lnProp_Count, I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, lcMemo ;
|
||||||
, lcValue_Esperado ;
|
, lcValue_Esperado, lcMemberdata ;
|
||||||
, loEx AS EXCEPTION
|
, loEx AS EXCEPTION
|
||||||
LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG"
|
LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG"
|
||||||
loObj = THIS.icObj
|
loObj = THIS.icObj
|
||||||
@@ -247,6 +247,12 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indic
|
|||||||
lnLen_lcTag_I = LEN(lcTag_I)
|
lnLen_lcTag_I = LEN(lcTag_I)
|
||||||
lnLen_lcTag_F = LEN(lcTag_F)
|
lnLen_lcTag_F = LEN(lcTag_F)
|
||||||
lnProp_Count = 17
|
lnProp_Count = 17
|
||||||
|
lcMemberdata = '<memberdata name="mimetodo_1" display="miMetodo_1"/>' + CR_LF
|
||||||
|
lcMemberdata = lcMemberdata + '<memberdata name="mimetodo_2" display="miMetodo_2"/>' + CR_LF
|
||||||
|
lcMemberdata = lcMemberdata + '<memberdata name="mimetodo_3" display="miMetodo_3"/>' + CR_LF
|
||||||
|
lcMemberdata = lcMemberdata + '<memberdata name="mimetodo_4" display="miMetodo_4"/>' + CR_LF
|
||||||
|
lcMemberdata = lcMemberdata + '<memberdata name="mimetodo_5" display="miMetodo_5"/>' + CR_LF
|
||||||
|
lcMemberdata = lcMemberdata + '<memberdata name="mimetodo_6" display="miMetodo_6"/>'
|
||||||
DIMENSION laProps(lnProp_Count,2)
|
DIMENSION laProps(lnProp_Count,2)
|
||||||
laProps = ''
|
laProps = ''
|
||||||
laProps( 1,1) = 'Height = 2.73'
|
laProps( 1,1) = 'Height = 2.73'
|
||||||
@@ -275,7 +281,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indic
|
|||||||
laProps(12,2) = ''
|
laProps(12,2) = ''
|
||||||
laProps(13,1) = '_memberdata = <VFPData>'
|
laProps(13,1) = '_memberdata = <VFPData>'
|
||||||
laProps(13,2) = ''
|
laProps(13,2) = ''
|
||||||
laProps(14,1) = '<memberdata name="mimetodo" display="miMetodo"/>'
|
laProps(14,1) = lcMemberdata
|
||||||
laProps(14,2) = ''
|
laProps(14,2) = ''
|
||||||
laProps(15,1) = '</VFPData>'
|
laProps(15,1) = '</VFPData>'
|
||||||
laProps(15,2) = 'XML Metadata for customizable properties'
|
laProps(15,2) = 'XML Metadata for customizable properties'
|
||||||
@@ -284,7 +290,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indic
|
|||||||
|
|
||||||
*-- DATOS ESPERADOS
|
*-- DATOS ESPERADOS
|
||||||
STORE 0 TO lnCodError_Esperado
|
STORE 0 TO lnCodError_Esperado
|
||||||
lcValue_Esperado = REPLICATE( CHR(1), 517 ) + STR(71,8) + '<VFPData>' + CR_LF + '<memberdata name="mimetodo" display="miMetodo"/>' + CR_LF + '</VFPData>'
|
lcValue_Esperado = REPLICATE( CHR(1), 517 ) + STR(23 + LEN(lcMemberdata),8) + '<VFPData>' + CR_LF + lcMemberdata + CR_LF + '</VFPData>'
|
||||||
|
|
||||||
*-- TEST
|
*-- TEST
|
||||||
loObj.analizarAsignacion_TAG_Indicado( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ;
|
loObj.analizarAsignacion_TAG_Indicado( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ;
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ _LegalTrademark = "Open Source"
|
|||||||
_ProductName = " FOXBIN2PRG"
|
_ProductName = " FOXBIN2PRG"
|
||||||
_MajorVer = "1"
|
_MajorVer = "1"
|
||||||
_MinorVer = "19"
|
_MinorVer = "19"
|
||||||
_Revision = " 288"
|
_Revision = " 299"
|
||||||
_LanguageID = "1034"
|
_LanguageID = "1034"
|
||||||
_AutoIncrement = "1"
|
_AutoIncrement = "1"
|
||||||
*</DevInfo>
|
*</DevInfo>
|
||||||
@@ -50,8 +50,8 @@ MODIFY PROJECT 'foxbin2prg.pjx' NOWAIT NOSHOW NOPROJECTHOOK
|
|||||||
loProject = _VFP.Projects('foxbin2prg.pjx')
|
loProject = _VFP.Projects('foxbin2prg.pjx')
|
||||||
|
|
||||||
WITH loProject.FILES
|
WITH loProject.FILES
|
||||||
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="0" ObjRev="0" />
|
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
||||||
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1147452450" ID="0" ObjRev="544" />
|
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
|
||||||
*</BuildProj>
|
*</BuildProj>
|
||||||
|
|
||||||
.ITEM('__newproject.f2b').Remove()
|
.ITEM('__newproject.f2b').Remove()
|
||||||
|
|||||||
BIN
foxbin2prg.pjt
BIN
foxbin2prg.pjt
Binary file not shown.
BIN
foxbin2prg.pjx
BIN
foxbin2prg.pjx
Binary file not shown.
338
foxbin2prg.prg
338
foxbin2prg.prg
@@ -76,6 +76,8 @@
|
|||||||
* 21/02/2014 FDBOZZO v1.19.12 Centralizar ZOrder controles en metadata de cabecera de clase para minimizar diferencias / Tambi<62>n mover UniqueIDs y Timestamps a metadata
|
* 21/02/2014 FDBOZZO v1.19.12 Centralizar ZOrder controles en metadata de cabecera de clase para minimizar diferencias / Tambi<62>n mover UniqueIDs y Timestamps a metadata
|
||||||
* 26/02/2014 FDBOZZO v1.19.13 Arreglo bug TimeStamp en archivo cfg / ExtraBackupLevels se puede desactivar / Optimizaciones / Casos FoxUnit
|
* 26/02/2014 FDBOZZO v1.19.13 Arreglo bug TimeStamp en archivo cfg / ExtraBackupLevels se puede desactivar / Optimizaciones / Casos FoxUnit
|
||||||
* 01/03/2014 FDBOZZO v1.19.14 Arreglo bug regresion cuando no se define ExtraBackupLevels no hace backups / Optimizaci<63>n carga cfg en batch
|
* 01/03/2014 FDBOZZO v1.19.14 Arreglo bug regresion cuando no se define ExtraBackupLevels no hace backups / Optimizaci<63>n carga cfg en batch
|
||||||
|
* 04/03/2014 FDBOZZO v1.19.15 Arreglo bugs: OLE TX2 legacy / NoTimestamp=0 / DBFs backlink
|
||||||
|
* 07/03/2014 FDBOZZO v1.19.16 Arreglo bugs: Propiedades y m<>todos Hidden/Protected que no se generan /// Crash m<>todos vac<61>os
|
||||||
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -93,7 +95,9 @@
|
|||||||
* 01/01/2014 Fidel Charny REPORTE BUG mnx v1.16: El men<65> no siempre respeta la posici<63>n original LOCATION y a veces se genera mal el MNX (se arregla en v1.17)
|
* 01/01/2014 Fidel Charny REPORTE BUG mnx v1.16: El men<65> no siempre respeta la posici<63>n original LOCATION y a veces se genera mal el MNX (se arregla en v1.17)
|
||||||
* 05/01/2014 Fidel Charny REPORTE BUG mnx v1.17: Se genera cl<63>usula "DO" o llamada Command cuando no Procedure ni Command que llamar // Diferencia de Case en NAME (se arregla en v1.18)
|
* 05/01/2014 Fidel Charny REPORTE BUG mnx v1.17: Se genera cl<63>usula "DO" o llamada Command cuando no Procedure ni Command que llamar // Diferencia de Case en NAME (se arregla en v1.18)
|
||||||
* 20/02/2014 Ryan Harris PROPUESTA DE MEJORA v1.19.11: Centralizar los ZOrder de los controles en metadata de cabecera de la clase para minimizar diferencias
|
* 20/02/2014 Ryan Harris PROPUESTA DE MEJORA v1.19.11: Centralizar los ZOrder de los controles en metadata de cabecera de la clase para minimizar diferencias
|
||||||
|
* 23/02/2014 Ryan Harris BUG cfg v1.19.12: Si se define NoTimestamp en FoxBin2Prg.cfg, se toma el valor opuesto (solucionado en v1.19.13)
|
||||||
* 27/02/2014 BUG REGRESION v1.19.13: Si no se define ExtraBackupLevels no se generan backups (solucionado en v1.19.14)
|
* 27/02/2014 BUG REGRESION v1.19.13: Si no se define ExtraBackupLevels no se generan backups (solucionado en v1.19.14)
|
||||||
|
* 06/03/2014 Ryan Harris REPORTE BUG vcx/scx v1.19.15: Algunas propiedades no mantienen su visibilidad Hidden/Protected // Orden de properties defTop,defLeft,etc
|
||||||
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -127,6 +131,10 @@ LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDeb
|
|||||||
*-- NO modificar! / Do NOT change!
|
*-- NO modificar! / Do NOT change!
|
||||||
#DEFINE C_CMT_I '*--'
|
#DEFINE C_CMT_I '*--'
|
||||||
#DEFINE C_CMT_F '--*'
|
#DEFINE C_CMT_F '--*'
|
||||||
|
#DEFINE C_CLASSCOMMENTS_I '*<ClassComment>'
|
||||||
|
#DEFINE C_CLASSCOMMENTS_F '*</ClassComment>'
|
||||||
|
#DEFINE C_LEN_CLASSCOMMENTS_I LEN(C_CLASSCOMMENTS_I)
|
||||||
|
#DEFINE C_LEN_CLASSCOMMENTS_F LEN(C_CLASSCOMMENTS_F)
|
||||||
#DEFINE C_CLASSDATA_I '*< CLASSDATA:'
|
#DEFINE C_CLASSDATA_I '*< CLASSDATA:'
|
||||||
#DEFINE C_CLASSDATA_F '/>'
|
#DEFINE C_CLASSDATA_F '/>'
|
||||||
#DEFINE C_LEN_CLASSDATA_I LEN(C_CLASSDATA_I)
|
#DEFINE C_LEN_CLASSDATA_I LEN(C_CLASSDATA_I)
|
||||||
@@ -437,7 +445,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
l_ConfigEvaluated = .F.
|
l_ConfigEvaluated = .F.
|
||||||
l_Debug = .F.
|
l_Debug = .F.
|
||||||
l_Test = .F.
|
l_Test = .F.
|
||||||
l_ShowErrors = .F.
|
l_ShowErrors = .T.
|
||||||
l_ShowProgress = .F.
|
l_ShowProgress = .F.
|
||||||
l_Recompile = .F.
|
l_Recompile = .F.
|
||||||
l_NoTimestamps = .T.
|
l_NoTimestamps = .T.
|
||||||
@@ -740,7 +748,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowProgress: ' + TRANSFORM(tcDontShowProgress) )
|
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowProgress: ' + TRANSFORM(tcDontShowProgress) )
|
||||||
|
|
||||||
CASE LEFT( laConfig(I), 15 ) == LOWER('DontShowErrors:')
|
CASE LEFT( laConfig(I), 15 ) == LOWER('DontShowErrors:')
|
||||||
|
*-- Priorizo si tcDontShowErrors NO viene con "0" como par<61>metro, ya que los scripts vbs
|
||||||
|
*-- los utilizan para sobreescribir la configuraci<63>n por defecto de foxbin2prg.cfg
|
||||||
|
IF NOT TRANSFORM(tcDontShowErrors) == '0'
|
||||||
tcDontShowErrors = ALLTRIM( SUBSTR( laConfig(I), 16 ) )
|
tcDontShowErrors = ALLTRIM( SUBSTR( laConfig(I), 16 ) )
|
||||||
|
ENDIF
|
||||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowErrors: ' + TRANSFORM(tcDontShowErrors) )
|
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowErrors: ' + TRANSFORM(tcDontShowErrors) )
|
||||||
|
|
||||||
CASE LEFT( laConfig(I), 13 ) == LOWER('NoTimestamps:')
|
CASE LEFT( laConfig(I), 13 ) == LOWER('NoTimestamps:')
|
||||||
@@ -796,7 +808,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
.l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1')
|
.l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1')
|
||||||
|
IF NOT EMPTY(tcDontShowErrors)
|
||||||
.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1')
|
.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1')
|
||||||
|
ENDIF
|
||||||
.l_Recompile = (EMPTY(tcRecompile) OR TRANSFORM(tcRecompile) == '1' OR DIRECTORY(tcRecompile))
|
.l_Recompile = (EMPTY(tcRecompile) OR TRANSFORM(tcRecompile) == '1' OR DIRECTORY(tcRecompile))
|
||||||
.l_NoTimestamps = NOT (TRANSFORM(tcNoTimestamps) == '0')
|
.l_NoTimestamps = NOT (TRANSFORM(tcNoTimestamps) == '0')
|
||||||
.l_Debug = (TRANSFORM(tcDebug)=='1')
|
.l_Debug = (TRANSFORM(tcDebug)=='1')
|
||||||
@@ -1074,7 +1088,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDIF
|
ENDIF
|
||||||
THIS.writeLog( lcErrorInfo )
|
THIS.writeLog( lcErrorInfo )
|
||||||
ENDIF
|
ENDIF
|
||||||
IF THIS.l_Debug AND THIS.l_ShowErrors
|
IF THIS.l_ShowErrors
|
||||||
MESSAGEBOX( lcErrorInfo, 0+16+4096, C_FOXBIN2PRG_ERROR_CAPTION_LOC, 60000 )
|
MESSAGEBOX( lcErrorInfo, 0+16+4096, C_FOXBIN2PRG_ERROR_CAPTION_LOC, 60000 )
|
||||||
ENDIF
|
ENDIF
|
||||||
IF tlRelanzarError
|
IF tlRelanzarError
|
||||||
@@ -1082,7 +1096,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
IF THIS.l_ShowProgress
|
THIS.writeLog_Flush()
|
||||||
|
IF THIS.l_ShowProgress AND VARTYPE(THIS.o_Frm_Avance) = "O"
|
||||||
THIS.o_Frm_Avance.HIDE()
|
THIS.o_Frm_Avance.HIDE()
|
||||||
THIS.o_Frm_Avance.RELEASE()
|
THIS.o_Frm_Avance.RELEASE()
|
||||||
STORE NULL TO THIS.o_Frm_Avance
|
STORE NULL TO THIS.o_Frm_Avance
|
||||||
@@ -1333,7 +1348,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
FINALLY
|
FINALLY
|
||||||
loFSO = NULL
|
loFSO = NULL
|
||||||
THIS.o_Conversor = NULL
|
THIS.o_Conversor = NULL
|
||||||
THIS.writeLog_Flush()
|
*THIS.writeLog_Flush()
|
||||||
|
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
@@ -1869,7 +1884,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
|
|
||||||
FOR I = 1 TO OCCURS( '/>', tcValue )
|
FOR I = 1 TO OCCURS( '/>', tcValue )
|
||||||
TEXT TO lcValue TEXTMERGE ADDITIVE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO lcValue TEXTMERGE ADDITIVE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<STREXTRACT( tcValue, '<memberdata ', '/>', I, 1+4 )>>
|
<<CHRTRAN( STREXTRACT( tcValue, '<memberdata ', '/>', I, 1+4 ), CR_LF, ' ' )>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
@@ -1879,7 +1894,11 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
</VFPData>
|
</VFPData>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
|
IF LEN(lcValue) > 255
|
||||||
tcValue = C_MPROPHEADER + STR( LEN(tcValue), 8 ) + tcValue
|
tcValue = C_MPROPHEADER + STR( LEN(tcValue), 8 ) + tcValue
|
||||||
|
ELSE
|
||||||
|
tcValue = CHRTRAN( tcValue, CR_LF, '' )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
CASE LEFT( tcValue, C_LEN_FB2P_VALUE_I ) == C_FB2P_VALUE_I
|
CASE LEFT( tcValue, C_LEN_FB2P_VALUE_I ) == C_FB2P_VALUE_I
|
||||||
*-- Valor especial Fox con cabecera CHR(1): Debo agregarla y desnormalizar el valor
|
*-- Valor especial Fox con cabecera CHR(1): Debo agregarla y desnormalizar el valor
|
||||||
@@ -2059,7 +2078,8 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
IF '&'+'&' $ tcLine
|
IF '&'+'&' $ tcLine
|
||||||
ln_AT_Cmt = AT( '&'+'&', tcLine)
|
ln_AT_Cmt = AT( '&'+'&', tcLine)
|
||||||
tcComment = LTRIM( SUBSTR( tcLine, ln_AT_Cmt + 2 ) )
|
tcComment = LTRIM( SUBSTR( tcLine, ln_AT_Cmt + 2 ) )
|
||||||
tcLine = RTRIM( LEFT( tcLine, ln_AT_Cmt - 1 ), 0, ' ', CHR(9) ) && Quito espacios y TABS
|
*tcLine = RTRIM( LEFT( tcLine, ln_AT_Cmt - 1 ), 0, ' ', CHR(9) ) && Quito espacios y TABS
|
||||||
|
tcLine = RTRIM( LEFT( tcLine, ln_AT_Cmt - 1 ), 0, CHR(9) ) && Quito TABS
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
@@ -2085,7 +2105,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
IF '=' $ tcAsignacion
|
IF '=' $ tcAsignacion
|
||||||
ln_AT_Cmt = AT( '=', tcAsignacion)
|
ln_AT_Cmt = AT( '=', tcAsignacion)
|
||||||
tcPropName = ALLTRIM( LEFT( tcAsignacion, ln_AT_Cmt - 2 ), 0, ' ', CHR(9) ) && Quito espacios y TABS
|
tcPropName = ALLTRIM( LEFT( tcAsignacion, ln_AT_Cmt - 2 ), 0, ' ', CHR(9) ) && Quito espacios y TABS
|
||||||
tcValue = ALLTRIM( SUBSTR( tcAsignacion, ln_AT_Cmt + 2 ) )
|
tcValue = LTRIM( SUBSTR( tcAsignacion, ln_AT_Cmt + 2 ) )
|
||||||
|
|
||||||
IF PCOUNT() > 3
|
IF PCOUNT() > 3
|
||||||
*-- EVALUAR UNA ASIGNACI<43>N QUE PUEDE SER MULTIL<49>NEA (memberdata, fb2p_value, etc)
|
*-- EVALUAR UNA ASIGNACI<43>N QUE PUEDE SER MULTIL<49>NEA (memberdata, fb2p_value, etc)
|
||||||
@@ -2195,7 +2215,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
|
|
||||||
FOR I = 1 TO OCCURS( '/>', tcValue )
|
FOR I = 1 TO OCCURS( '/>', tcValue )
|
||||||
TEXT TO lcValue TEXTMERGE ADDITIVE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO lcValue TEXTMERGE ADDITIVE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<>> <<STREXTRACT( tcValue, '<memberdata ', '/>', I, 1+4 )>>
|
<<>> <<CHRTRAN( STREXTRACT( tcValue, '<memberdata ', '/>', I, 1+4 ), CR_LF, ' ' )>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
@@ -2282,6 +2302,8 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
lcPropName = SUBSTR(tcPropName,5)
|
lcPropName = SUBSTR(tcPropName,5)
|
||||||
CASE NOT tcOperation == 'SETNAME'
|
CASE NOT tcOperation == 'SETNAME'
|
||||||
ERROR C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC
|
ERROR C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC
|
||||||
|
CASE lcPropName == 'FRXDataSession' && En un VCX lo v<> primero de todo y tambi<62>n luego de Height <20>?
|
||||||
|
lcPropName = 'A001' + lcPropName
|
||||||
CASE lcPropName == 'ErasePage' && PageFrame: Debe estar antes que PageCount
|
CASE lcPropName == 'ErasePage' && PageFrame: Debe estar antes que PageCount
|
||||||
lcPropName = 'A002' + lcPropName
|
lcPropName = 'A002' + lcPropName
|
||||||
CASE lcPropName == 'PageCount' && PageFrame: Debe estar antes que ActivePage
|
CASE lcPropName == 'PageCount' && PageFrame: Debe estar antes que ActivePage
|
||||||
@@ -2306,6 +2328,14 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
lcPropName = 'A040' + lcPropName
|
lcPropName = 'A040' + lcPropName
|
||||||
CASE lcPropName == 'Tag'
|
CASE lcPropName == 'Tag'
|
||||||
lcPropName = 'A045' + lcPropName
|
lcPropName = 'A045' + lcPropName
|
||||||
|
CASE lcPropName == 'DefTop' && Propiedad con evaluaci<63>n: Debe estar antes que Top
|
||||||
|
lcPropName = 'A046' + lcPropName
|
||||||
|
CASE lcPropName == 'DefLeft' && Propiedad con evaluaci<63>n: Debe estar antes que Left
|
||||||
|
lcPropName = 'A047' + lcPropName
|
||||||
|
CASE lcPropName == 'DefHeight' && Propiedad con evaluaci<63>n: Debe estar antes que Height
|
||||||
|
lcPropName = 'A048' + lcPropName
|
||||||
|
CASE lcPropName == 'DefWidth' && Propiedad con evaluaci<63>n: Debe estar antes que Width
|
||||||
|
lcPropName = 'A049' + lcPropName
|
||||||
CASE lcPropName == 'Top'
|
CASE lcPropName == 'Top'
|
||||||
lcPropName = 'A050' + lcPropName
|
lcPropName = 'A050' + lcPropName
|
||||||
CASE lcPropName == 'Left'
|
CASE lcPropName == 'Left'
|
||||||
@@ -2693,6 +2723,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
+ [<memberdata name="analizarbloque_foxbin2prg" display="analizarBloque_FoxBin2Prg"/>] ;
|
+ [<memberdata name="analizarbloque_foxbin2prg" display="analizarBloque_FoxBin2Prg"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_hidden" display="analizarBloque_HIDDEN"/>] ;
|
+ [<memberdata name="analizarbloque_hidden" display="analizarBloque_HIDDEN"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_include" display="analizarBloque_INCLUDE"/>] ;
|
+ [<memberdata name="analizarbloque_include" display="analizarBloque_INCLUDE"/>] ;
|
||||||
|
+ [<memberdata name="analizarbloque_classcomments" display="analizarBloque_CLASSCOMMENTS"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_classmetadata" display="analizarBloque_CLASSMETADATA"/>] ;
|
+ [<memberdata name="analizarbloque_classmetadata" display="analizarBloque_CLASSMETADATA"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_objectmetadata" display="analizarBloque_OBJECTMETADATA"/>] ;
|
+ [<memberdata name="analizarbloque_objectmetadata" display="analizarBloque_OBJECTMETADATA"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_ole_def" display="analizarBloque_OLE_DEF"/>] ;
|
+ [<memberdata name="analizarbloque_ole_def" display="analizarBloque_OLE_DEF"/>] ;
|
||||||
@@ -3432,6 +3463,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
loProcedure = NULL
|
loProcedure = NULL
|
||||||
loProcedure = toClase._Procedures(I)
|
loProcedure = toClase._Procedures(I)
|
||||||
|
|
||||||
|
IF loProcedure._ProcLine_Count > 0 THEN
|
||||||
IF '.' $ loProcedure._Nombre
|
IF '.' $ loProcedure._Nombre
|
||||||
*-- cboNombre.InteractiveChange ==> No debe acortarse por ser m<>todo modificado de combobox heredado de la clase
|
*-- cboNombre.InteractiveChange ==> No debe acortarse por ser m<>todo modificado de combobox heredado de la clase
|
||||||
*-- cntDatos.txtEdad.Valid ==> Debe acortarse si cntDatos es un objeto existente
|
*-- cntDatos.txtEdad.Valid ==> Debe acortarse si cntDatos es un objeto existente
|
||||||
@@ -3463,6 +3495,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
<<C_ENDPROC>>
|
<<C_ENDPROC>>
|
||||||
<<>>
|
<<>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
loProcedure = NULL
|
loProcedure = NULL
|
||||||
@@ -3971,10 +4004,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF RIGHT(tcLine, 3) == ', ;' && VALOR INTERMEDIO CON ", ;"
|
IF RIGHT(tcLine, 3) == ', ;' && VALOR INTERMEDIO CON ", ;"
|
||||||
.get_SeparatedPropAndValue( LEFT(tcLine, LEN(tcLine) - 3), @lcProp, @lcValue )
|
.get_SeparatedPropAndValue( LEFT(tcLine, LEN(tcLine) - 3), @lcProp, @lcValue, toClase, @taCodeLines, @tnCodeLines, @I )
|
||||||
toObjeto.add_Property( @lcProp, @lcValue )
|
toObjeto.add_Property( @lcProp, @lcValue )
|
||||||
ELSE && VALOR FINAL SIN ", ;" (JUSTO ANTES DEL <END OBJECT>)
|
ELSE && VALOR FINAL SIN ", ;" (JUSTO ANTES DEL <END OBJECT>)
|
||||||
.get_SeparatedPropAndValue( RTRIM(tcLine), @lcProp, @lcValue )
|
.get_SeparatedPropAndValue( tcLine, @lcProp, @lcValue, toClase, @taCodeLines, @tnCodeLines, @I )
|
||||||
toObjeto.add_Property( @lcProp, @lcValue )
|
toObjeto.add_Property( @lcProp, @lcValue )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -4058,7 +4091,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
ELSE
|
ELSE
|
||||||
*-- Sin comentarios
|
*-- Sin comentarios
|
||||||
lcPAM_Name = LOWER( RTRIM( SUBSTR( tcLine, lnPos+1 ), 0, ' ', CHR(9) ) )
|
lcPAM_Name = LOWER( RTRIM( SUBSTR( tcLine, lnPos+1 ), 0, ' ', CHR(9) ) )
|
||||||
lcItem = lcPAM_Name + IIF(ISALPHA(lcPAM_Name), '', ' ') + CR_LF
|
lcItem = lcPAM_Name + IIF( LEFT(lcPAM_Name,1) $ '^*' , ' ', '') + CR_LF
|
||||||
|
|
||||||
*-- Separo propiedades y m<>todos
|
*-- Separo propiedades y m<>todos
|
||||||
IF LEFT(lcItem,1) == '*'
|
IF LEFT(lcItem,1) == '*'
|
||||||
@@ -4111,6 +4144,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
LOCAL Z, lcProp, lcValue, loEx AS EXCEPTION ;
|
LOCAL Z, lcProp, lcValue, loEx AS EXCEPTION ;
|
||||||
, llCLASSMETADATA_Completed, llPROTECTED_Completed, llHIDDEN_Completed, llDEFINED_PAM_Completed ;
|
, llCLASSMETADATA_Completed, llPROTECTED_Completed, llHIDDEN_Completed, llDEFINED_PAM_Completed ;
|
||||||
, llINCLUDE_Completed, llCLASS_PROPERTY_Completed, llOBJECTMETADATA_Completed ;
|
, llINCLUDE_Completed, llCLASS_PROPERTY_Completed, llOBJECTMETADATA_Completed ;
|
||||||
|
, llCLASSCOMMENTS_Completed ;
|
||||||
, loObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
|
, loObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
|
||||||
|
|
||||||
STORE '' TO tcProcedureAbierto
|
STORE '' TO tcProcedureAbierto
|
||||||
@@ -4137,7 +4171,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
* B<>squeda del ID de fin de bloque (ENDDEFINE)
|
* B<>squeda del ID de fin de bloque (ENDDEFINE)
|
||||||
WITH THIS
|
WITH THIS AS c_conversor_prg_a_bin OF 'FOXBIN2PRG.PRG'
|
||||||
FOR I = toClase._Ini_Cab TO tnCodeLines
|
FOR I = toClase._Ini_Cab TO tnCodeLines
|
||||||
tc_Comentario = ''
|
tc_Comentario = ''
|
||||||
.set_Line( @tcLine, @taCodeLines, I )
|
.set_Line( @tcLine, @taCodeLines, I )
|
||||||
@@ -4149,13 +4183,14 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
CASE .analizarBloque_PROCEDURE( @toModulo, @toClase, @loObjeto, @tcLine, @taCodeLines, @I, @tnCodeLines ;
|
CASE .analizarBloque_PROCEDURE( @toModulo, @toClase, @loObjeto, @tcLine, @taCodeLines, @I, @tnCodeLines ;
|
||||||
, @tcProcedureAbierto, @tc_Comentario, @taBloquesExclusion, @tnBloquesExclusion )
|
, @tcProcedureAbierto, @tc_Comentario, @taBloquesExclusion, @tnBloquesExclusion )
|
||||||
*-- OJO: Esta se analiza primero a prop<6F>sito, solo porque no puede estar detr<74>s de PROTECTED y HIDDEN
|
*-- OJO: Esta se analiza primero a prop<6F>sito, solo porque no puede estar detr<74>s de PROTECTED y HIDDEN
|
||||||
llCLASS_PROPERTY_Completed = .T.
|
STORE .T. TO llCLASSCOMMENTS_Completed ;
|
||||||
llPROTECTED_Completed = .T.
|
, llCLASS_PROPERTY_Completed ;
|
||||||
llHIDDEN_Completed = .T.
|
, llPROTECTED_Completed ;
|
||||||
llINCLUDE_Completed = .T.
|
, llHIDDEN_Completed ;
|
||||||
llCLASSMETADATA_Completed = .T.
|
, llINCLUDE_Completed ;
|
||||||
llOBJECTMETADATA_Completed = .T.
|
, llCLASSMETADATA_Completed ;
|
||||||
llDEFINED_PAM_Completed = .T.
|
, llOBJECTMETADATA_Completed ;
|
||||||
|
, llDEFINED_PAM_Completed
|
||||||
|
|
||||||
|
|
||||||
CASE NOT llPROTECTED_Completed AND .analizarBloque_PROTECTED( @toClase, @tcLine )
|
CASE NOT llPROTECTED_Completed AND .analizarBloque_PROTECTED( @toClase, @tcLine )
|
||||||
@@ -4171,12 +4206,16 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
llINCLUDE_Completed = .T.
|
llINCLUDE_Completed = .T.
|
||||||
|
|
||||||
|
|
||||||
|
CASE NOT llCLASSCOMMENTS_Completed AND .analizarBloque_CLASSCOMMENTS( @toClase, @tcLine ,@taCodeLines, tnCodeLines, @I )
|
||||||
|
llCLASSCOMMENTS_Completed = .T.
|
||||||
|
|
||||||
|
|
||||||
CASE NOT llCLASSMETADATA_Completed AND .analizarBloque_CLASSMETADATA( @toClase, @tcLine )
|
CASE NOT llCLASSMETADATA_Completed AND .analizarBloque_CLASSMETADATA( @toClase, @tcLine )
|
||||||
llCLASSMETADATA_Completed = .T.
|
llCLASSMETADATA_Completed = .T.
|
||||||
|
|
||||||
|
|
||||||
CASE NOT llOBJECTMETADATA_Completed AND .analizarBloque_OBJECTMETADATA( @toClase, @tcLine )
|
CASE NOT llOBJECTMETADATA_Completed AND .analizarBloque_OBJECTMETADATA( @toClase, @tcLine )
|
||||||
*llOBJECTMETADATA_Completed = .T.
|
* No se usa flag porque puede haber m<>ltiples ObjectMetadata.
|
||||||
|
|
||||||
|
|
||||||
CASE NOT llDEFINED_PAM_Completed AND .analizarBloque_DEFINED_PAM( @toClase, @tcLine, @taCodeLines, tnCodeLines, @I )
|
CASE NOT llDEFINED_PAM_Completed AND .analizarBloque_DEFINED_PAM( @toClase, @tcLine, @taCodeLines, tnCodeLines, @I )
|
||||||
@@ -4184,13 +4223,14 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
|
|
||||||
|
|
||||||
CASE .analizarBloque_ADD_OBJECT( @toModulo, @toClase, @tcLine, @I, @taCodeLines, @tnCodeLines )
|
CASE .analizarBloque_ADD_OBJECT( @toModulo, @toClase, @tcLine, @I, @taCodeLines, @tnCodeLines )
|
||||||
llCLASS_PROPERTY_Completed = .T.
|
STORE .T. TO llCLASSCOMMENTS_Completed ;
|
||||||
llPROTECTED_Completed = .T.
|
, llCLASS_PROPERTY_Completed ;
|
||||||
llHIDDEN_Completed = .T.
|
, llPROTECTED_Completed ;
|
||||||
llINCLUDE_Completed = .T.
|
, llHIDDEN_Completed ;
|
||||||
llCLASSMETADATA_Completed = .T.
|
, llINCLUDE_Completed ;
|
||||||
llOBJECTMETADATA_Completed = .T.
|
, llCLASSMETADATA_Completed ;
|
||||||
llDEFINED_PAM_Completed = .T.
|
, llOBJECTMETADATA_Completed ;
|
||||||
|
, llDEFINED_PAM_Completed
|
||||||
|
|
||||||
|
|
||||||
CASE .analizarBloque_ENDDEFINE( @toClase, @tcLine, @I, @tcProcedureAbierto )
|
CASE .analizarBloque_ENDDEFINE( @toClase, @tcLine, @I, @tcProcedureAbierto )
|
||||||
@@ -4203,7 +4243,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
*-- NOTA: Las propiedades se agregan tal cual, incluso aunque est<73>n separadas en
|
*-- NOTA: Las propiedades se agregan tal cual, incluso aunque est<73>n separadas en
|
||||||
*-- varias l<>neas (memberdata y fb2p_value), ya que luego se ensamblan en classProps2Memo().
|
*-- varias l<>neas (memberdata y fb2p_value), ya que luego se ensamblan en classProps2Memo().
|
||||||
*
|
*
|
||||||
.get_SeparatedPropAndValue( RTRIM(tcLine), @lcProp, @lcValue, @toClase, @taCodeLines, tnCodeLines, @I )
|
.get_SeparatedPropAndValue( tcLine, @lcProp, @lcValue, @toClase, @taCodeLines, tnCodeLines, @I )
|
||||||
toClase.add_Property( @lcProp, @lcValue, RTRIM(tc_Comentario) )
|
toClase.add_Property( @lcProp, @lcValue, RTRIM(tc_Comentario) )
|
||||||
|
|
||||||
|
|
||||||
@@ -4323,7 +4363,57 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
PROCEDURE analizarBloque_CLASSCOMMENTS
|
||||||
|
LPARAMETERS toClase, tcLine ,taCodeLines, tnCodeLines, I
|
||||||
|
|
||||||
|
EXTERNAL ARRAY taCodeLines
|
||||||
|
|
||||||
|
#IF .F.
|
||||||
|
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL llBloqueEncontrado
|
||||||
|
|
||||||
|
IF LEFT( tcLine, C_LEN_CLASSCOMMENTS_I ) == C_CLASSCOMMENTS_I
|
||||||
|
llBloqueEncontrado = .T.
|
||||||
|
toClase._Comentario = ''
|
||||||
|
|
||||||
|
WITH THIS AS c_conversor_prg_a_bin OF 'FOXBIN2PRG.PRG'
|
||||||
|
FOR I = I + 1 TO tnCodeLines
|
||||||
|
.set_Line( @tcLine, @taCodeLines, I )
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE LEFT( tcLine, C_LEN_CLASSCOMMENTS_F ) == C_CLASSCOMMENTS_F
|
||||||
|
I = I + 1
|
||||||
|
EXIT
|
||||||
|
|
||||||
|
OTHERWISE
|
||||||
|
toClase._Comentario = toClase._Comentario + CR_LF + SUBSTR( tcLine, 2 ) && Le quito el '*' inicial
|
||||||
|
ENDCASE
|
||||||
|
ENDFOR
|
||||||
|
ENDWITH && THIS
|
||||||
|
|
||||||
|
I = I - 1
|
||||||
|
|
||||||
|
IF NOT EMPTY(toClase._Comentario)
|
||||||
|
toClase._Comentario = SUBSTR( toClase._Comentario, 3 ) + CR_LF && Quito el primer CR+LF
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
|
SET STEP ON
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THROW
|
||||||
|
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN llBloqueEncontrado
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE analizarBloque_CLASSMETADATA
|
PROCEDURE analizarBloque_CLASSMETADATA
|
||||||
LPARAMETERS toClase, tcLine
|
LPARAMETERS toClase, tcLine
|
||||||
|
|
||||||
@@ -7090,36 +7180,46 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE get_ADD_OBJECT_METHODS
|
PROCEDURE get_ADD_OBJECT_METHODS
|
||||||
LPARAMETERS toRegObj, toRegClass, tcMethods, taMethods, taCode, tnMethodCount
|
LPARAMETERS toRegObj, toRegClass, tcMethods, taMethods, taCode, tnMethodCount ;
|
||||||
|
, taPropsAndComments, tnPropsAndComments_Count, taProtected, tnProtected_Count
|
||||||
|
|
||||||
|
EXTERNAL ARRAY taPropsAndComments, taProtected
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
|
LOCAL lcMethodName
|
||||||
|
|
||||||
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
.SortMethod( toRegObj.METHODS, @taMethods, @taCode, '', @tnMethodCount )
|
.SortMethod( toRegObj.METHODS, @taMethods, @taCode, '', @tnMethodCount ;
|
||||||
|
, @taPropsAndComments, tnPropsAndComments_Count, @taProtected, tnProtected_Count )
|
||||||
|
|
||||||
*-- Ubico los m<>todos protegidos y les cambio la definici<63>n.
|
*-- Ubico los m<>todos protegidos y les cambio la definici<63>n.
|
||||||
*-- Los m<>todos se deben generar con la ruta completa, porque si no es imposible saber a que objeto corresponden,
|
*-- Los m<>todos se deben generar con la ruta completa, porque si no es imposible saber a que objeto corresponden,
|
||||||
*-- o si son de la clase.
|
*-- o si son de la clase.
|
||||||
IF tnMethodCount > 0 THEN
|
IF tnMethodCount > 0 THEN
|
||||||
FOR I = 1 TO tnMethodCount
|
FOR I = 1 TO tnMethodCount
|
||||||
|
IF taMethods(I,2) = 0
|
||||||
|
LOOP
|
||||||
|
ENDIF
|
||||||
|
|
||||||
IF EMPTY(toRegObj.PARENT)
|
IF EMPTY(toRegObj.PARENT)
|
||||||
tcMethodName = toRegObj.OBJNAME + '.' + taMethods(I,1)
|
lcMethodName = toRegObj.OBJNAME + '.' + taMethods(I,1)
|
||||||
ELSE
|
ELSE
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE '.' $ toRegObj.PARENT
|
CASE '.' $ toRegObj.PARENT
|
||||||
tcMethodName = SUBSTR(toRegObj.PARENT, AT('.', toRegObj.PARENT) + 1) + '.' + toRegObj.OBJNAME + '.' + taMethods(I,1)
|
lcMethodName = SUBSTR(toRegObj.PARENT, AT('.', toRegObj.PARENT) + 1) + '.' + toRegObj.OBJNAME + '.' + taMethods(I,1)
|
||||||
|
|
||||||
CASE LEFT(toRegObj.PARENT + '.', LEN( toRegClass.OBJNAME + '.' ) ) == toRegClass.OBJNAME + '.'
|
CASE LEFT(toRegObj.PARENT + '.', LEN( toRegClass.OBJNAME + '.' ) ) == toRegClass.OBJNAME + '.'
|
||||||
tcMethodName = toRegObj.OBJNAME + '.' + taMethods(I,1)
|
lcMethodName = toRegObj.OBJNAME + '.' + taMethods(I,1)
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
tcMethodName = toRegObj.PARENT + '.' + toRegObj.OBJNAME + '.' + taMethods(I,1)
|
lcMethodName = toRegObj.PARENT + '.' + toRegObj.OBJNAME + '.' + taMethods(I,1)
|
||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- Genero el m<>todo SIN indentar, ya que se hace luego
|
*-- Genero el m<>todo SIN indentar, ya que se hace luego
|
||||||
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
||||||
tcMethods = tcMethods + CR_LF + 'PROCEDURE ' + tcMethodName
|
tcMethods = tcMethods + CR_LF + 'PROCEDURE ' + lcMethodName
|
||||||
tcMethods = tcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)) )
|
tcMethods = tcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)) )
|
||||||
tcMethods = tcMethods + CR_LF + 'ENDPROC'
|
tcMethods = tcMethods + CR_LF + 'ENDPROC'
|
||||||
ENDFOR
|
ENDFOR
|
||||||
@@ -7379,7 +7479,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
X = 0
|
X = 0
|
||||||
FOR I = lnFin TO 1 STEP -1
|
FOR I = lnFin TO 1 STEP -1
|
||||||
IF NOT EMPTY(laLineas(I)) && <20>ltima l<>nea de c<>digo
|
IF NOT EMPTY(laLineas(I)) && <20>ltima l<>nea de c<>digo
|
||||||
IF LEFT( laLineas(I), 10 ) <> C_ENDPROC
|
IF llProcedure AND LEFT( laLineas(I), 10 ) <> C_ENDPROC
|
||||||
*ERROR 'Procedimiento sin cerrar. La <20>ltima l<>nea de c<>digo debe ser ENDPROC. [' + laLineas(1) + ']'
|
*ERROR 'Procedimiento sin cerrar. La <20>ltima l<>nea de c<>digo debe ser ENDPROC. [' + laLineas(1) + ']'
|
||||||
ERROR (TEXTMERGE(C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC))
|
ERROR (TEXTMERGE(C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC))
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -7482,11 +7582,12 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE SortMethod
|
PROCEDURE SortMethod
|
||||||
LPARAMETERS tcMethod, taMethods, taCode, tcSorted, tnMethodCount
|
LPARAMETERS tcMethod, taMethods, taCode, tcSorted, tnMethodCount, taPropsAndComments, tnPropsAndComments_Count ;
|
||||||
|
, taProtected, tnProtected_Count
|
||||||
*-- 29/10/2013 Fernando D. Bozzo
|
*-- 29/10/2013 Fernando D. Bozzo
|
||||||
*-- Se tiene en cuenta la posibilidad de que haya un PROC/ENDPROC dentro de un TEXT/ENDTEXT
|
*-- Se tiene en cuenta la posibilidad de que haya un PROC/ENDPROC dentro de un TEXT/ENDTEXT
|
||||||
*-- cuando es usado en un generador de c<>digo o similar.
|
*-- cuando es usado en un generador de c<>digo o similar.
|
||||||
EXTERNAL ARRAY taMethods, taCode
|
EXTERNAL ARRAY taMethods, taCode, taPropsAndComments, taProtected
|
||||||
|
|
||||||
*-- ESTRUCTURA DE LOS ARRAYS CREADOS:
|
*-- ESTRUCTURA DE LOS ARRAYS CREADOS:
|
||||||
*-- taMethods[1,3]
|
*-- taMethods[1,3]
|
||||||
@@ -7496,7 +7597,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
*-- taCode[1]
|
*-- taCode[1]
|
||||||
*-- Bloque de c<>digo del m<>todo en su posici<63>n original
|
*-- Bloque de c<>digo del m<>todo en su posici<63>n original
|
||||||
TRY
|
TRY
|
||||||
LOCAL lnLineCount, laLine(1), I, lnTextNodes, tcSorted
|
LOCAL lnLineCount, laLine(1), I, lnTextNodes, tcSorted, lnProtectedLine, lcMethod
|
||||||
LOCAL loEx AS EXCEPTION
|
LOCAL loEx AS EXCEPTION
|
||||||
DIMENSION taMethods(1,3)
|
DIMENSION taMethods(1,3)
|
||||||
STORE '' TO taMethods, m.tcSorted, taCode
|
STORE '' TO taMethods, m.tcSorted, taCode
|
||||||
@@ -7585,13 +7686,44 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDCASE
|
ENDCASE
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
|
*-- Agrego los m<>todos definidos, pero sin c<>digo (Protected/Reserved3)
|
||||||
|
FOR I = 1 TO tnPropsAndComments_Count
|
||||||
|
lcMethod = CHRTRAN( taPropsAndComments(I,1), '*', '' )
|
||||||
|
IF LEFT( taPropsAndComments(I,1), 1 ) == '*' AND ASCAN( taMethods, lcMethod, 1, 0, 1, 1+2+4+8 ) = 0
|
||||||
|
tnMethodCount = tnMethodCount + 1
|
||||||
|
DIMENSION taMethods(tnMethodCount, 3) &&, taCode(tnMethodCount)
|
||||||
|
taMethods(tnMethodCount, 1) = lcMethod
|
||||||
|
taMethods(tnMethodCount, 2) = 0
|
||||||
|
|
||||||
|
lnProtectedLine = ASCAN( taProtected, lcMethod, 1, 0, 1, 1+2+4+8 )
|
||||||
|
|
||||||
|
IF lnProtectedLine = 0 THEN
|
||||||
|
IF tnProtected_Count = 0
|
||||||
|
lnProtectedLine = 0
|
||||||
|
ELSE
|
||||||
|
lnProtectedLine = ASCAN( taProtected, lcMethod + '^', 1, 0, 1, 1+2+4+8 )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF lnProtectedLine = 0 THEN
|
||||||
|
taMethods(tnMethodCount, 3) = ''
|
||||||
|
ELSE
|
||||||
|
taMethods(tnMethodCount, 3) = 'HIDDEN '
|
||||||
|
ENDIF
|
||||||
|
ELSE
|
||||||
|
taMethods(tnMethodCount, 3) = 'PROTECTED '
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
*-- Alphabetical ordering of methods
|
*-- Alphabetical ordering of methods
|
||||||
IF THIS.l_MethodSort_Enabled
|
IF THIS.l_MethodSort_Enabled
|
||||||
ASORT(taMethods,1,-1,0,1)
|
ASORT(taMethods,1,-1,0,1)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
FOR I = 1 TO tnMethodCount
|
FOR I = 1 TO tnMethodCount
|
||||||
|
IF taMethods(I,2) > 0 THEN
|
||||||
m.tcSorted = m.tcSorted + taCode(taMethods(I,2))
|
m.tcSorted = m.tcSorted + taCode(taMethods(I,2))
|
||||||
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -7686,7 +7818,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE write_ALL_OBJECT_METHODS
|
PROCEDURE write_ALL_OBJECT_METHODS
|
||||||
LPARAMETERS tcMethods
|
LPARAMETERS tcMethods, taPropsAndComments, tnPropsAndComments_Count, taProtected, tnProtected_Count
|
||||||
|
|
||||||
*-- Finalmente, todos los m<>todos los ordeno y escribo juntos
|
*-- Finalmente, todos los m<>todos los ordeno y escribo juntos
|
||||||
LOCAL laMethods(1), laCode(1), lnMethodCount, I, lcMethods, lcMethods2
|
LOCAL laMethods(1), laCode(1), lnMethodCount, I, lcMethods, lcMethods2
|
||||||
@@ -7696,11 +7828,16 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
DIMENSION laMethods(1,3)
|
DIMENSION laMethods(1,3)
|
||||||
|
|
||||||
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
.SortMethod( @tcMethods, @laMethods, @laCode, '', @lnMethodCount )
|
.SortMethod( @tcMethods, @laMethods, @laCode, '', @lnMethodCount ;
|
||||||
|
, @taPropsAndComments, tnPropsAndComments_Count, @taProtected, tnProtected_Count )
|
||||||
|
|
||||||
FOR I = 1 TO lnMethodCount
|
FOR I = 1 TO lnMethodCount
|
||||||
*-- Genero los m<>todos indentados
|
*-- Genero los m<>todos indentados
|
||||||
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
||||||
|
IF laMethods(I,2) = 0
|
||||||
|
LOOP
|
||||||
|
ENDIF
|
||||||
|
|
||||||
lcMethods = lcMethods + CR_LF + C_TAB + laMethods(I,3) + C_PROCEDURE + ' ' + laMethods(I,1)
|
lcMethods = lcMethods + CR_LF + C_TAB + laMethods(I,3) + C_PROCEDURE + ' ' + laMethods(I,1)
|
||||||
lcMethods = lcMethods + CR_LF + .IndentarMemo( laCode(laMethods(I,2)), CHR(9) + CHR(9) )
|
lcMethods = lcMethods + CR_LF + .IndentarMemo( laCode(laMethods(I,2)), CHR(9) + CHR(9) )
|
||||||
lcMethods = lcMethods + CR_LF + C_TAB + C_ENDPROC
|
lcMethods = lcMethods + CR_LF + C_TAB + C_ENDPROC
|
||||||
@@ -7730,23 +7867,24 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
FOR I = 1 TO tnMethodCount
|
FOR I = 1 TO tnMethodCount
|
||||||
lcMethod = CHRTRAN( taMethods(I,1), '^', '' )
|
lcMethod = CHRTRAN( taMethods(I,1), '^', '' )
|
||||||
lnProtectedItem = ASCAN( taProtected, taMethods(I,1), 1, 0, 0, 1)
|
lnProtectedItem = ASCAN( taProtected, taMethods(I,1), 1, 0, 0, 1+2+4)
|
||||||
lnCommentRow = ASCAN( taPropsAndComments, '*' + lcMethod, 1, 0, 1, 1+8)
|
|
||||||
|
|
||||||
DO CASE
|
IF lnProtectedItem = 0
|
||||||
CASE lnProtectedItem = 0
|
lnProtectedItem = ASCAN( taProtected, taMethods(I,1) + '^', 1, 0, 0, 1+2+4)
|
||||||
|
|
||||||
|
IF lnProtectedItem = 0
|
||||||
*-- M<>todo com<6F>n
|
*-- M<>todo com<6F>n
|
||||||
lcProcDef = 'PROCEDURE'
|
lcProcDef = 'PROCEDURE'
|
||||||
|
ELSE
|
||||||
CASE taProtected(lnProtectedItem) == taMethods(I,1)
|
|
||||||
*-- M<>todo protegido
|
|
||||||
lcProcDef = 'PROTECTED PROCEDURE'
|
|
||||||
|
|
||||||
CASE taProtected(lnProtectedItem) == taMethods(I,1) + '^'
|
|
||||||
*-- M<>todo oculto
|
*-- M<>todo oculto
|
||||||
lcProcDef = 'HIDDEN PROCEDURE'
|
lcProcDef = 'HIDDEN PROCEDURE'
|
||||||
|
ENDIF
|
||||||
|
ELSE
|
||||||
|
*-- M<>todo protegido
|
||||||
|
lcProcDef = 'PROTECTED PROCEDURE'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
ENDCASE
|
lnCommentRow = ASCAN( taPropsAndComments, '*' + lcMethod, 1, 0, 1, 1+2+4+8)
|
||||||
|
|
||||||
*-- Nombre del m<>todo
|
*-- Nombre del m<>todo
|
||||||
TEXT TO lcMethods ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO lcMethods ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
@@ -7762,7 +7900,10 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*-- C<>digo del m<>todo
|
*-- C<>digo del m<>todo
|
||||||
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
||||||
|
IF taMethods(I,2) > 0 THEN
|
||||||
lcMethods = lcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)), C_TAB + C_TAB )
|
lcMethods = lcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)), C_TAB + C_TAB )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
lcMethods = lcMethods + CR_LF + C_TAB + 'ENDPROC'
|
lcMethods = lcMethods + CR_LF + C_TAB + 'ENDPROC'
|
||||||
lcMethods = lcMethods + CR_LF
|
lcMethods = lcMethods + CR_LF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
@@ -7786,31 +7927,37 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE write_CLASS_PROPERTIES
|
PROCEDURE write_CLASS_PROPERTIES
|
||||||
LPARAMETERS toRegClass, taPropsAndValues, taPropsAndComments, taProtected
|
LPARAMETERS toRegClass, taPropsAndValues, taPropsAndComments, taProtected ;
|
||||||
|
, tnPropsAndValues_Count, tnPropsAndComments_Count, tnProtected_Count
|
||||||
|
|
||||||
EXTERNAL ARRAY taPropsAndValues, taPropsAndComments
|
EXTERNAL ARRAY taPropsAndValues, taPropsAndComments
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lnPropsAndValues_Count, lcHiddenProp, lcProtectedProp, lcPropsMethodsDefd, lnPropsAndComments_Count, I ;
|
LOCAL lcHiddenProp, lcProtectedProp, lcPropsMethodsDefd, I ;
|
||||||
, lcPropName, lnProtectedItem, lcComentarios
|
, lcPropName, lnProtectedItem, lcComentarios
|
||||||
|
|
||||||
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
*-- DEFINIR PROPIEDADES ( HIDDEN, PROTECTED, *DEFINED_PAM )
|
*-- DEFINIR PROPIEDADES ( HIDDEN, PROTECTED, *DEFINED_PAM )
|
||||||
DIMENSION taProtected(1)
|
DIMENSION taProtected(1)
|
||||||
STORE '' TO lcHiddenProp, lcProtectedProp, lcPropsMethodsDefd
|
STORE '' TO lcHiddenProp, lcProtectedProp, lcPropsMethodsDefd
|
||||||
.get_PropsAndValuesFrom_PROPERTIES( toRegClass.PROPERTIES, 1, @taPropsAndValues, @lnPropsAndValues_Count, '' )
|
STORE 0 TO tnPropsAndValues_Count, tnPropsAndComments_Count, tnProtected_Count
|
||||||
.get_PropsAndCommentsFrom_RESERVED3( toRegClass.RESERVED3, .T., @taPropsAndComments, @lnPropsAndComments_Count, '' )
|
.get_PropsAndValuesFrom_PROPERTIES( toRegClass.PROPERTIES, 1, @taPropsAndValues, @tnPropsAndValues_Count, '' )
|
||||||
.get_PropsFrom_PROTECTED( toRegClass.PROTECTED, .T., @taProtected, 0, '' )
|
.get_PropsAndCommentsFrom_RESERVED3( toRegClass.RESERVED3, .T., @taPropsAndComments, @tnPropsAndComments_Count, '' )
|
||||||
|
.get_PropsFrom_PROTECTED( toRegClass.PROTECTED, .T., @taProtected, @tnProtected_Count, '' )
|
||||||
|
|
||||||
IF lnPropsAndValues_Count > 0 THEN
|
IF tnPropsAndValues_Count > 0 THEN
|
||||||
*-- Recorro las propiedades (campo Properties) para ir conformando
|
*-- Recorro las propiedades (campo Properties) para ir conformando
|
||||||
*-- las definiciones HIDDEN y PROTECTED
|
*-- las definiciones HIDDEN y PROTECTED
|
||||||
FOR I = 1 TO lnPropsAndValues_Count
|
FOR I = 1 TO tnPropsAndValues_Count
|
||||||
IF EMPTY(taPropsAndValues(I,1))
|
IF EMPTY(taPropsAndValues(I,1))
|
||||||
LOOP
|
LOOP
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
IF tnProtected_Count = 0
|
||||||
|
lnProtectedItem = 0
|
||||||
|
ELSE
|
||||||
lnProtectedItem = ASCAN(taProtected, taPropsAndValues(I,1), 1, 0, 0, 1)
|
lnProtectedItem = ASCAN(taProtected, taPropsAndValues(I,1), 1, 0, 0, 1)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE lnProtectedItem = 0
|
CASE lnProtectedItem = 0
|
||||||
@@ -7827,7 +7974,27 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDCASE
|
ENDCASE
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
.write_DEFINED_PAM( @taPropsAndComments, lnPropsAndComments_Count )
|
*-- Segunda barrida para las propiedades Hidden/Protected que no est<73>n definidas en Properties
|
||||||
|
FOR I = 1 TO tnProtected_Count
|
||||||
|
*-- La propiedad evaluada no debe ser vac<61>a, debe estar en la lista de PROPERTIES y no debe ser un *M<>todo
|
||||||
|
IF EMPTY(taProtected(I,1)) ;
|
||||||
|
OR ASCAN(taPropsAndValues, CHRTRAN( taProtected(I), '^', '' ), 1, 0, 1, 1) > 0 ;
|
||||||
|
OR ASCAN(taPropsAndComments, '*' + CHRTRAN( taProtected(I), '^', '' ), 1, 0, 1, 1) > 0
|
||||||
|
LOOP
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF RIGHT( taProtected(I), 1 ) == '^'
|
||||||
|
*-- Propiedad oculta
|
||||||
|
lcHiddenProp = lcHiddenProp + ',' + CHRTRAN( taProtected(I), '^', '' )
|
||||||
|
|
||||||
|
ELSE
|
||||||
|
*-- Propiedad protegida
|
||||||
|
lcProtectedProp = lcProtectedProp + ',' + taProtected(I)
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
.write_DEFINED_PAM( @taPropsAndComments, tnPropsAndComments_Count )
|
||||||
|
|
||||||
.write_HIDDEN_Properties( @lcHiddenProp )
|
.write_HIDDEN_Properties( @lcHiddenProp )
|
||||||
|
|
||||||
@@ -7946,10 +8113,19 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
LPARAMETERS toRegClass
|
LPARAMETERS toRegClass
|
||||||
*-- Comentario de la clase
|
*-- Comentario de la clase
|
||||||
IF NOT EMPTY(toRegClass.RESERVED7) THEN
|
IF NOT EMPTY(toRegClass.RESERVED7) THEN
|
||||||
|
*-- Si es multil<69>nea, debe ir en un tag <ClassComments> aparte
|
||||||
|
IF OCCURS( CHR(13), toRegClass.RESERVED7 ) > 0 THEN
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> <<C_CLASSCOMMENTS_I>>
|
||||||
|
<<THIS.IndentarMemo( toRegClass.Reserved7, C_TAB + C_TAB + '*' )>>
|
||||||
|
<<>> <<C_CLASSCOMMENTS_F>>
|
||||||
|
ENDTEXT
|
||||||
|
ELSE && Comentario in-line
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||||
<<>> <<'&'+'&'>> <<toRegClass.Reserved7>>
|
<<>> <<'&'+'&'>> <<toRegClass.Reserved7>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
ENDIF
|
ENDIF
|
||||||
|
ENDIF
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
@@ -8571,9 +8747,10 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
TRY
|
TRY
|
||||||
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen, lnObjCount ;
|
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen, lnObjCount ;
|
||||||
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1) ;
|
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1) ;
|
||||||
, laObjs(1,3), I
|
, laObjs(1,3), I, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count
|
||||||
STORE 0 TO lnCodError, lnLastClass, lnObjCount
|
STORE 0 TO lnCodError, lnLastClass, lnObjCount, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count ;
|
||||||
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1), laObjs(1)
|
, lnMethodCount
|
||||||
|
STORE '' TO laMethods, laCode, laProtected, laPropsAndComments, laObjs
|
||||||
STORE NULL TO loRegClass, loRegObj
|
STORE NULL TO loRegClass, loRegObj
|
||||||
|
|
||||||
WITH THIS AS c_conversor_vcx_a_prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_vcx_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
@@ -8663,7 +8840,8 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
.write_INCLUDE( @loRegClass )
|
.write_INCLUDE( @loRegClass )
|
||||||
|
|
||||||
.write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected )
|
.write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected ;
|
||||||
|
, @lnPropsAndValues_Count, @lnPropsAndComments_Count, @lnProtected_Count )
|
||||||
|
|
||||||
ASORT(laObjs, 3, -1, 0, 0) && Orden Alfab<61>tico (del SCAN original)
|
ASORT(laObjs, 3, -1, 0, 0) && Orden Alfab<61>tico (del SCAN original)
|
||||||
|
|
||||||
@@ -8674,8 +8852,9 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
||||||
DIMENSION laMethods(1,3)
|
DIMENSION laMethods(1,3)
|
||||||
lcMethods = ''
|
laMethods = ''
|
||||||
.SortMethod( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount )
|
.SortMethod( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount ;
|
||||||
|
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count )
|
||||||
|
|
||||||
.write_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments )
|
.write_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments )
|
||||||
|
|
||||||
@@ -8701,10 +8880,11 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
loRegObj.UNIQUEID = ALLTRIM(loRegObj.UNIQUEID)
|
loRegObj.UNIQUEID = ALLTRIM(loRegObj.UNIQUEID)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods )
|
.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods, @laMethods, @laCode, @lnMethodCount ;
|
||||||
|
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count )
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
.write_ALL_OBJECT_METHODS( @lcMethods )
|
.write_ALL_OBJECT_METHODS( @lcMethods, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count )
|
||||||
|
|
||||||
GOTO RECORD (lnRecno)
|
GOTO RECORD (lnRecno)
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
@@ -8772,9 +8952,10 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
TRY
|
TRY
|
||||||
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen, lnObjCount ;
|
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen, lnObjCount ;
|
||||||
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1) ;
|
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1) ;
|
||||||
, laObjs(1,3), I
|
, laObjs(1,3), I, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count
|
||||||
STORE 0 TO lnCodError, lnLastClass, lnObjCount
|
STORE 0 TO lnCodError, lnLastClass, lnObjCount, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count ;
|
||||||
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1)
|
, lnMethodCount
|
||||||
|
STORE '' TO laMethods, laCode, laProtected, laPropsAndComments, laObjs
|
||||||
STORE NULL TO loRegClass, loRegObj
|
STORE NULL TO loRegClass, loRegObj
|
||||||
|
|
||||||
WITH THIS AS c_conversor_scx_a_prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_scx_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
@@ -8880,7 +9061,8 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
.write_INCLUDE( @loRegClass )
|
.write_INCLUDE( @loRegClass )
|
||||||
|
|
||||||
.write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected )
|
.write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected ;
|
||||||
|
, @lnPropsAndValues_Count, @lnPropsAndComments_Count, @lnProtected_Count )
|
||||||
|
|
||||||
|
|
||||||
ASORT(laObjs, 3, -1, 0, 0) && Orden Alfab<61>tico de objetos (del SCAN original)
|
ASORT(laObjs, 3, -1, 0, 0) && Orden Alfab<61>tico de objetos (del SCAN original)
|
||||||
@@ -8892,8 +9074,9 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
||||||
DIMENSION laMethods(1,3)
|
DIMENSION laMethods(1,3)
|
||||||
lcMethods = ''
|
laMethods = ''
|
||||||
.SortMethod( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount )
|
.SortMethod( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount ;
|
||||||
|
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count )
|
||||||
|
|
||||||
.write_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments )
|
.write_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments )
|
||||||
|
|
||||||
@@ -8921,10 +9104,11 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
loRegObj.UNIQUEID = ALLTRIM(loRegObj.UNIQUEID)
|
loRegObj.UNIQUEID = ALLTRIM(loRegObj.UNIQUEID)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods )
|
.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods, @laMethods, @laCode, @lnMethodCount ;
|
||||||
|
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count )
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
.write_ALL_OBJECT_METHODS( @lcMethods )
|
.write_ALL_OBJECT_METHODS( @lcMethods, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count )
|
||||||
|
|
||||||
GOTO RECORD (lnRecno)
|
GOTO RECORD (lnRecno)
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|||||||
19
ignore.conf
19
ignore.conf
@@ -1,7 +1,12 @@
|
|||||||
*.FXP
|
*.7z
|
||||||
*.LNK
|
*.bak
|
||||||
*.SCC
|
*.fxp
|
||||||
*.TMP
|
*.lnk
|
||||||
*.BAK
|
*.log
|
||||||
*/FXUResults.*
|
*.mpx
|
||||||
*/FXUPersist*.*
|
*.scc
|
||||||
|
*.spx
|
||||||
|
*.tbk
|
||||||
|
*.zip
|
||||||
|
*/vfp_init.prg
|
||||||
|
*/includefilelist.txt
|
||||||
|
|||||||
Reference in New Issue
Block a user