On Aug 9, 2017, at 2:59 PM, Randy Engle wrote:

> Been messing with 64bit v16r4
> 
> Found that most (not all) of my PICTURE LIBRARY pictures went south.
> 
> If I open the app in the 32 bit version, they are all still there.
> 
> So... what Christian said below, is more than a "good idea"
> 
> Not looking forward to redoing all of these pictures into the resources 
> folder and then finding all references to them.

It is not required to move all your picture to the Resources folder. You can 
continue to use the Picture Library. All that is needed is to convert the old 
picture format into a new format. Leave the picture names and IDs in the 
library the same and you will not need to update any code or forms.

Here is the code from the knowledge base article. http://kb.4d.com/assetid=76775

If (True)
        If (False)
        Begin SQL
        /*
        Name: UTIL_ConvertPICTs
        Path: UTIL_ConvertPICTs

        Purpose: Convert all PICT formatted images in the 
        Picture Libraray to .PNG images

        The v13.2 or later 4D Pack Plugin must be installed to use this method

        */
        End SQL
        End if 
        C_TEXT($MethodName_T)
        $MethodName_T:=Current method name
         //===================== Declare Variables 
==================================
         //method_parameters_declarations
         
//--------------------------------------------------------------------------------
         //method_wide_constants_declarations
         
//--------------------------------------------------------------------------------
         //local_variable_declarations
        C_LONGINT($Ndx;$SOA;$RIS;$PictRef_L)
        C_TEXT($PictName_T)
        C_PICTURE($Pict_G)
        C_POINTER($Pict_P)
End if 
//====================== Initialize and Setup ================================

ARRAY LONGINT($PictRef_aL;0)
ARRAY TEXT($PictName_aT;0)

PICTURE LIBRARY LIST($PictRef_aL;$PictName_aT)
$SOA:=Size of array($PictRef_aL)

//======================== Method Actions ==================================

If ($SOA>0)
        For ($Ndx;1;$SOA)  // for each picture
        $PictRef_L:=$PictRef_aL{$Ndx}
        $PictName_T:=$PictName_aT{$Ndx}
        GET PICTURE FROM LIBRARY($PictRef_aL{$Ndx};$Pict_G)
        $Pict_P:=->$Pict_G  // passage of a pointer
        If (AP Is Picture Deprecated ($Pict_P)=1)  // if format is obsolete
        CONVERT PICTURE($Pict_G;".PNG")  // conversion to png
        SET PICTURE TO LIBRARY($Pict_G;$PictRef_L;$PictName_T)  // and storage 
in the library
        End if 
        End for 
Else 
        ALERT("The picture library is empty.")
End if 

//======================== Clean up and Exit =================================

Tim

********************************************
Tim Nevels
Innovative Solutions
785-749-3444
timnev...@mac.com
********************************************

**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to