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]
**********************************************************************

Reply via email to