Hi Eric,

If I understand your question correctly, I think you’re looking for a “dirty” 
flag. As far as I know there is no built in function that track this, so you’ll 
need to create your own.

Below are the three methods I use to track the state of a Write Pro object. It 
was inspired by help I received on forums.4d.fr.

— Create an object in the On Load event of a Write Pro object call:

  // Method: WP_InitInformation
  // ----------------------------------------------------
  // User name (OS): Tom Benedict
  // Date and time: 9/5/2019, 10:28:45
  // ----------------------------------------------------
  // Description
  // bld277005
  // 

C_OBJECT(WP_Information)

If (OB Is defined(WP_Information))  // already exists
        WP_Information.IsNewDocument:=False
Else 
        WP_Information:=New object("IsNewDocument";False)
End if 

If (OB Get type(WP_Information;"DocumentInfo")=Is undefined)  // doesn't 
already exists
        WP_Information.DocumentInfo:=New 
object("FilePath";"";"Modification";False)
Else 
          // do nothing
End if 

— Update the object whenever the Write Pro document is modified (like in the On 
Data Change event of a Write Pro object):

  // Method: WP_Information_SetModified([isModified])
  // ----------------------------------------------------
  // User name (OS): Tom Benedict
  // Date and time: 9/5/2019, 11:07:29
  // ----------------------------------------------------
  // Description
  // Set the Modification Property of WP_Information object
  // See WP_Information_Init
  // bld277005
  // 

C_BOOLEAN($1)

C_OBJECT(WP_Information)  // this object is initialized in WP_Information_Init

If (Count parameters>0)
        $isModified:=$1
Else 
        $isModified:=True  // default
End if 

WP_Information.DocumentInfo.Modification:=$isModified

— Test the state wherever/whenever you wish with:

  // Method: WP_Information_isModified -> isModified
  // ----------------------------------------------------
  // User name (OS): Tom Benedict
  // Date and time: 9/5/2019, 11:07:29
  // ----------------------------------------------------
  // Description
  // Get the Modification Property of WP_Information object
  // See WP_Information_Init
  // bld277005
  // 

C_OBJECT(WP_Information)
C_BOOLEAN($0)

$0:=(WP_Information.DocumentInfo.Modification=True)

HTH,

Tom Benedict

> On Nov 12, 2019, at 14:07, Eric Naujock via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I have a series of records and want to detect whether the 4D Write Pro object 
> has been changed since it was loaded. This way I can keep a version archive 
> of older versions of a document available. Is there an easy way I’m not 
> seeing to know if the Write pro object has been changed since it was created 
> or loaded. Right now I al creating a Write Pro object since 17R4 had an 
> issues with saving rite Pro objects to a record in a client-server situation. 
> Though I think it may have been fixed in R5 or R6. 
> 
> The Write pro object is created when the case is loaded as a free standing 
> object since the object odes not reside in the main record table. Its lives 
> in a large object table nearby since not all records have the Write Pro 
> object in it.
> 
> Or is there a way to have an object change detecting in an event that would 
> tell me there was a change in the object and that it needs to have the old 
> object saved to the History table.
> *****

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

Reply via email to