KNOWLEDGE BASE
Log In    |    Knowledge Base    |    4D Home
Tech Tip: Optimizing Temporary Objects, file handles in 4D
PRODUCT: 4D | VERSION: 20 | PLATFORM: Mac & Win
Published On: February 26, 2025

When temporary object doesn't get nullified after use it could lead to memory leaks. for example when we're dealing with files and file handles always remember to release file handles when done.

$voParam:=New object("File"; $voFileTXTHandle; "Action"; "Header")
WriteLine($voParam)
$voParam:=Null // release handle $voParam
...
$voFileTXTHandle:=Null // release handle $voFileTXTHandle


A more elegant approach is to directly use literal object, avoiding the creation of an intermediate variable:
WriteLine({File: $voFileTXTHandle; Action: "Header"})

Benefits of the Optimized Solution

  • More concise code
  • No manual memory management required
  • Reduced risk of forgotten nullification
  • Improved performance by avoiding temporary variables