Hi All,
In light of the wingdings issue on windows ten, I wrote the following two
methods
Please note that if you have a write pro are on a form, the bolded line crashes
on Macs every time. I have tried v15.6, v16r6 both 32 bit and 64 bit
Hope these help someone else out
Regards
Chuck
Begin ut_FormGetObjects
//Method: ut_FormGetObjects
//Description
//
// Parameters
// ----------------------------------------------------
If (False)
// ----------------------------------------------------
//User name (OS): Chuck Miller
//User (4D) : Designer
//Date and time: 06/19/18, 16:18:44
// ----------------------------------------------------
//Created :
Mods_2018_06
C_TEXT(ut_FormGetObjects ;$1)
C_POINTER(ut_FormGetObjects ;$2)
End if
//
C_TEXT($1;$FormName_txt)
$FormName_txt:=$1
C_POINTER($2;$ReportBlob_ptr)
$ReportBlob_ptr:=$2
ARRAY POINTER($VariableArray_aPTR;0)
C_LONGINT($Find_L;$i;$OBJType_L)
ARRAY LONGINT($pages_aL;0)
FORM GET OBJECTS($ObjectArray_atxt;$VariableArray_aPTR;$pages_aL)
C_LONGINT($ObjFontSize_L;$OBJType_L)
C_TEXT($VariableName_txt;$ObjStyleSheet_txt;$ObjFont_txt)
C_LONGINT($TableNUmber_L;$FieldNumber_L)
For ($i;1;Size of array($VariableArray_aPTR))
$VariableName_txt:=""
RESOLVE
POINTER($VariableArray_aPTR{$i};$VariableName_txt;$TableNUmber_L;$FieldNumber_L)
$OBJType_L:=OBJECT Get type(*;$ObjectArray_atxt{$i})
$ObjStyleSheet_txt:=OBJECT Get style sheet(*;$ObjectArray_atxt{$i})
$ObjFont_txt:=OBJECT Get font(*;$ObjectArray_atxt{$i})
$ObjFontSize_L:=OBJECT Get font size(*;$ObjectArray_atxt{$i})
If ($TableNUmber_L>0)
$VariableName_txt:=Field name($TableNUmber_L;$FieldNumber_L)
End if
TEXT TO BLOB($VariableName_txt+Char(Tab)+\
String($OBJType_L)+Char(Tab)+\
$ObjStyleSheet_txt+Char(Tab)+\
$ObjFont_txt+Char(Tab)+\
String($pages_aL{$i})+Char(Carriage return)\
;$ReportBlob_ptr->;UTF8 text without length;*)
End for
//End ut_FormGetObjects
Begin ut_LoadFormsAndGetInfo
//Method: ut_LoadFormsandGetInfo
//Description
//
// Parameters
// ----------------------------------------------------
If (False)
// ----------------------------------------------------
//User name (OS): Chuck Miller
//User (4D) : Designer
//Date and time: 06/19/18, 16:18:02
// ----------------------------------------------------
//Created :
Mods_2018_06
End if
//
C_TEXT($Path_txt)
C_POINTER($Table_ptr)
C_BLOB($Report_blb)
SET BLOB SIZE($Report_blb;0)
C_TEXT($FormName_txt)
C_LONGINT($Loop_l;$FormLoop_L)
ARRAY TEXT($TableForms_atxt;0)
ARRAY TEXT($VariableOrFieldName_atxt;0)
FORM GET NAMES($TableForms_atxt)
For ($FormLoop_L;1;Size of array($TableForms_atxt))
$FormName_txt:=$TableForms_atxt{$FormLoop_L}
TEXT TO BLOB($FormName_txt+Char(Carriage return);$Report_blb;UTF8 text without
length)
FORM LOAD($TableForms_atxt{$FormLoop_L})
ut_FormGetObjects ($TableForms_atxt{$FormLoop_L};->$Report_blb)
FORM UNLOAD
End for
For ($Loop_l;1;Get last table number)
If (Is table number valid($Loop_l))
TEXT TO BLOB(Table name($Loop_l)+Char(Carriage return);$Report_blb;UTF8 text
without length)
ARRAY TEXT($TableForms_atxt;0)
$Table_ptr:=Table($Loop_l)
FORM GET NAMES($Table_ptr->;$TableForms_atxt)
For ($FormLoop_L;1;Size of array($TableForms_atxt))
$FormName_txt:="["+Table name($Loop_l)+"];"+$TableForms_atxt{$FormLoop_L}
TEXT TO BLOB($FormName_txt+Char(Carriage return);$Report_blb;UTF8 text without
length)
FORM LOAD($Table_ptr->;$TableForms_atxt{$FormLoop_L})
ut_FormGetObjects ($FormName_txt;->$Report_blb)
FORM UNLOAD
End for
End if
End for
C_TIME($Doc_tm)
$Doc_tm:=Create document("")
CLOSE DOCUMENT($Doc_tm)
BLOB TO DOCUMENT(Document;$Report_blb)
//End ut_LoadFormsandGetInfo
------------------------------------------------------------------------------------------------
Chuck Miller Voice: (617) 739-0306
Informed Solutions, Inc. Fax: (617) 232-1064
mailto:cjmiller<AT SIGN>informed-solutions.com
Brookline, MA 02446 USA Registered 4D Developer
Providers of 4D and Sybase connectivity
http://www.informed-solutions.com
------------------------------------------------------------------------------------------------
This message and any attached documents contain information which may be
confidential, subject to privilege or exempt from disclosure under applicable
law. These materials are intended only for the use of the intended recipient.
If you are not the intended recipient of this transmission, you are hereby
notified that any distribution, disclosure, printing, copying, storage,
modification or the taking of any action in reliance upon this transmission is
strictly prohibited. Delivery of this message to any person other than the
intended recipient shall not compromise or waive such confidentiality,
privilege or exemption from disclosure as to this communication.
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ: http://lists.4d.com/faqnug.html
Archive: http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub: mailto:[email protected]
**********************************************************************