diff --git a/TESTS/DATOS_READONLY/Menu_Comments_Procedure.mn2 b/TESTS/DATOS_READONLY/Menu_Comments_Procedure.mn2
new file mode 100644
index 0000000..e5e7456
--- /dev/null
+++ b/TESTS/DATOS_READONLY/Menu_Comments_Procedure.mn2
@@ -0,0 +1,33 @@
+*--------------------------------------------------------------------------------------------------------------------------------------------------------
+* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡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!!
+*--------------------------------------------------------------------------------------------------------------------------------------------------------
+*< FOXBIN2PRG: Version="1.19" SourceFile="menu_comments_procedure.mnx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+*
+*1
+*REPLACE
+
+*
+DEFINE MENU _MSYSMENU BAR
+DEFINE PAD _40O0YW62F OF _MSYSMENU PROMPT "A first Entry" COLOR SCHEME 3
+
+ON PAD _40O0YW62F OF _MSYSMENU ACTIVATE POPUP AfirstEntr
+
+ *----------------------------------
+ DEFINE POPUP AfirstEntr MARGIN RELATIVE SHADOW COLOR SCHEME 4
+ DEFINE BAR 1 OF AfirstEntr PROMPT "Item 1" ;
+ KEY ALT+1, "ALT+1" && Do something depending on App version
+ ON SELECTION BAR 1 OF AfirstEntr iif(oApp.Version()=="v1.0",oApp.Run(1), oApp.Run(2))
+
+ DEFINE BAR 2 OF AfirstEntr PROMPT "Hide Errors" && Setup some very effective error handling
+ ON SELECTION BAR 2 OF AfirstEntr DO BAR_2_OF_AfirstEntr_FB2P
+
+DEFINE PAD _40O0YW62G OF _MSYSMENU PROMPT "E\
\ No newline at end of file
diff --git a/TESTS/DATOS_READONLY/Menu_Comments_Procedure.mnt b/TESTS/DATOS_READONLY/Menu_Comments_Procedure.mnt
new file mode 100644
index 0000000..49368e4
Binary files /dev/null and b/TESTS/DATOS_READONLY/Menu_Comments_Procedure.mnt differ
diff --git a/TESTS/DATOS_READONLY/Menu_Comments_Procedure.mnx b/TESTS/DATOS_READONLY/Menu_Comments_Procedure.mnx
new file mode 100644
index 0000000..cf99102
Binary files /dev/null and b/TESTS/DATOS_READONLY/Menu_Comments_Procedure.mnx differ
diff --git a/TESTS/DATOS_READONLY/Menu_LineBreak.mn2 b/TESTS/DATOS_READONLY/Menu_LineBreak.mn2
new file mode 100644
index 0000000..6ccf1d7
--- /dev/null
+++ b/TESTS/DATOS_READONLY/Menu_LineBreak.mn2
@@ -0,0 +1,38 @@
+*--------------------------------------------------------------------------------------------------------------------------------------------------------
+* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡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!!
+*--------------------------------------------------------------------------------------------------------------------------------------------------------
+*< FOXBIN2PRG: Version="1.19" SourceFile="menu_linebreak.mnx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+*
+*1
+*REPLACE
+
+*
+DEFINE MENU _MSYSMENU BAR
+DEFINE PAD _40O0YW62F OF _MSYSMENU PROMPT "A first Entry" COLOR SCHEME 3
+
+ON PAD _40O0YW62F OF _MSYSMENU ACTIVATE POPUP AfirstEntr
+
+ *----------------------------------
+ DEFINE POPUP AfirstEntr MARGIN RELATIVE SHADOW COLOR SCHEME 4
+ DEFINE BAR 1 OF AfirstEntr PROMPT "Item 1" ;
+ KEY ALT+1, "ALT+1" && Do something depending on App version
+ ON SELECTION BAR 1 OF AfirstEntr iif(oApp.Version()=="v1.0",oApp.Run(1), oApp.Run(2))
+
+ DEFINE BAR 2 OF AfirstEntr PROMPT "Hide Errors"
+ ON SELECTION BAR 2 OF AfirstEntr DO BAR_2_OF_AfirstEntr_FB2P
+
+DEFINE PAD _40O0YW62G OF _MSYSMENU PROMPT "E\a line break in it
+
+ON SELECTION PAD _40O101BHZ OF _MSYSMENU messageb("Hello!")
+
+*
\ No newline at end of file
diff --git a/TESTS/DATOS_READONLY/Menu_LineBreak.mnt b/TESTS/DATOS_READONLY/Menu_LineBreak.mnt
new file mode 100644
index 0000000..29d31ac
Binary files /dev/null and b/TESTS/DATOS_READONLY/Menu_LineBreak.mnt differ
diff --git a/TESTS/DATOS_READONLY/Menu_LineBreak.mnx b/TESTS/DATOS_READONLY/Menu_LineBreak.mnx
new file mode 100644
index 0000000..aa36c44
Binary files /dev/null and b/TESTS/DATOS_READONLY/Menu_LineBreak.mnx differ
diff --git a/TESTS/DATOS_READONLY/test_public_protected.vc2 b/TESTS/DATOS_READONLY/test_public_protected.vc2
new file mode 100644
index 0000000..3d8cccc
--- /dev/null
+++ b/TESTS/DATOS_READONLY/test_public_protected.vc2
@@ -0,0 +1,161 @@
+*--------------------------------------------------------------------------------------------------------------------------------------------------------
+* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡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!!
+*--------------------------------------------------------------------------------------------------------------------------------------------------------
+*< FOXBIN2PRG: Version="1.19" SourceFile="test_public_protected.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+*
+*
+DEFINE CLASS cmdbutton1 AS commandbutton
+ *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" />
+
+ *
+ *p: invalue
+ *
+
+ Caption = "Command1"
+ Height = 27
+ invalue = Default Value
+ Name = "cmdbutton1"
+ Width = 84
+
+ENDDEFINE
+
+DEFINE CLASS cmdsubbutton AS cmdbutton1 OF "test_public_protected.vcx"
+ *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" />
+
+ PROTECTED invalue
+ invalue = New Value
+ Name = "cmdsubbutton"
+
+ENDDEFINE
+
+DEFINE CLASS frmform1 AS form
+ *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />
+
+ *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
+ *< OBJECTDATA: ObjPath="txtAddedThisThird" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="Cmdbutton11" UniqueID="" Timestamp="" />
+
+ *
+ *m: canprocess
+ *m: initobjects
+ *m: processaction
+ *m: processactionpart1
+ *m: processactionpart2
+ *
+
+ Caption = "Form"
+ DoCreate = .T.
+ Name = "frmform1"
+
+ ADD OBJECT 'Cmdbutton11' AS cmdsubbutton WITH ;
+ Height = 36, ;
+ Left = 60, ;
+ Name = "Cmdbutton11", ;
+ Top = 144, ;
+ Width = 120
+ *< END OBJECT: ClassLib="test_public_protected.vcx" BaseClass="commandbutton" />
+
+ ADD OBJECT 'Command1' AS commandbutton WITH ;
+ Caption = "This button was added second", ;
+ DefHeight = , ;
+ DefLeft = , ;
+ Height = (25), ;
+ Left = (this.Height), ;
+ Name = "Command1", ;
+ Top = 48, ;
+ Width = 192
+ *< END OBJECT: BaseClass="commandbutton" />
+
+ ADD OBJECT 'Label1' AS label WITH ;
+ Caption = "This label was added first", ;
+ Height = 18, ;
+ Left = 24, ;
+ Name = "Label1", ;
+ Top = 12, ;
+ Width = 144
+ *< END OBJECT: BaseClass="label" />
+
+ ADD OBJECT 'txtAddedThisThird' AS textbox WITH ;
+ Height = 25, ;
+ Left = 24, ;
+ Name = "txtAddedThisThird", ;
+ Top = 96, ;
+ Width = 180
+ *< END OBJECT: BaseClass="textbox" />
+
+ PROTECTED PROCEDURE canprocess
+ ENDPROC
+
+ PROCEDURE Init
+ *
+ * Init the form!
+ *
+ thisform.Caption = "Hello world!"
+ ENDPROC
+
+ PROTECTED PROCEDURE initobjects
+ *
+ * Initialize some objects here
+ *
+ ENDPROC
+
+ PROCEDURE processaction
+ *
+ * ProcessActions again, all public
+ *
+ * TODO
+ ENDPROC
+
+ PROTECTED PROCEDURE processactionpart1
+ *
+ * Part 1, do some stuff
+ *
+ SELECT 0
+ ENDPROC
+
+ PROTECTED PROCEDURE processactionpart2
+ ENDPROC
+
+ENDDEFINE
+
+DEFINE CLASS frmform2 AS form
+ *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />
+
+ *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
+ *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" />
+
+ *
+ *m: privatemethod && A private method
+ *m: protectedmethod && A protected method
+ *m: publicmethod && Regular public method
+ *
+
+ Caption = "Form"
+ DoCreate = .T.
+ Name = "frmform2"
+
+ ADD OBJECT 'Label1' AS label WITH ;
+ Caption = "Added this control first", ;
+ Height = 25, ;
+ Left = 36, ;
+ Name = "Label1", ;
+ Top = 24, ;
+ Width = 205
+ *< END OBJECT: BaseClass="label" />
+
+ HIDDEN PROCEDURE privatemethod && A private method
+ * Private method
+ ENDPROC
+
+ PROTECTED PROCEDURE protectedmethod && A protected method
+ * Protected method
+ ENDPROC
+
+ PROCEDURE publicmethod && Regular public method
+ * Pub method
+ ENDPROC
+
+ENDDEFINE
diff --git a/TESTS/DATOS_READONLY/test_public_protected.vct b/TESTS/DATOS_READONLY/test_public_protected.vct
new file mode 100644
index 0000000..f0e5bd4
Binary files /dev/null and b/TESTS/DATOS_READONLY/test_public_protected.vct differ
diff --git a/TESTS/DATOS_READONLY/test_public_protected.vcx b/TESTS/DATOS_READONLY/test_public_protected.vcx
new file mode 100644
index 0000000..33dab04
Binary files /dev/null and b/TESTS/DATOS_READONLY/test_public_protected.vcx differ
diff --git a/TESTS/DATOS_READONLY/test_report.fr2 b/TESTS/DATOS_READONLY/test_report.fr2
new file mode 100644
index 0000000..4cb613f
--- /dev/null
+++ b/TESTS/DATOS_READONLY/test_report.fr2
@@ -0,0 +1,102 @@
+*--------------------------------------------------------------------------------------------------------------------------------------------------------
+* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡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!!
+*--------------------------------------------------------------------------------------------------------------------------------------------------------
+*< FOXBIN2PRG: Version="1.19" SourceFile="test_report.frx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+*
+
+
+
+
+