POSIX Path Syntax (How to convert from 4D POSIX to Terminal POSXIX?)

2019-06-24 Thread Jeremy French via 4D_Tech
How do we resolve POSIX file path syntax between 4D and Mac Terminal?

This Mac system path has a space in the folder name "Final Application":
Macintosh 
HD:Users:jeremyfrench:Desktop:test_notarize_01:test_notarize_01_Build:Final 
Application:test_notarize_01.app:

4D's POSIX shows the space in "Final Application" unescaped:
/Users/jeremyfrench/Desktop/test_notarize_01/test_notarize_01_Build/Final 
Application/test_notarize_01.app/

And 4D's escaped POSIX shows the space represented as "%20”, like this:
/Users/jeremyfrench/Desktop/test_notarize_01/test_notarize_01_Build/Final%20Application/test_notarize_01.app/

Neither 4D syntax (escaped or unescaped) matches Terminal's POSIX syntax.

Terminal's POSIX shows the space in "Final Application" escaped differently, 
with a left-slash: "\ "
/Users/jeremyfrench/Desktop/test_notarize_01/test_notarize_01_Build/Final\ 
Application/test_notarize_01.app

QUESTIONS:

Does Terminal escape only space characters?
Are there other characters that Terminal escapes with a left-slash?
Is replacing a space with left-slash-space the only change needed to convert 
4D's POSIX to Terminal's POXSIX?
**
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
**

Re: Drag & drop a file - what am I missing?

2019-06-21 Thread Jeremy French via 4D_Tech
Hi Pat,

Take a look at the documentation for "Get file from pasteboard” at:
https://doc.4d.com/4Dv17/4D/17.2/Get-file-from-pasteboard.301-4387094.en.html 


Put the following in the object method of a text variable and drag a file atop 
the text variable. Remember to check-mark the “On Drop” form event.
—
Case of 
: (Form event=On Drop)

OBJECT Get pointer(Object current)->:=Get file from pasteboard(1)

End case 
—
The text object will display the file’s absolute path.


Best regards,
- Jeremy

> On Jun 21, 2019, at 4:16 PM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
>  I want to allow the user to drop a file onto a field and save the
> file's pathname in the field.

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

Re: Username/password dialog timeout in v17

2019-06-21 Thread Jeremy French via 4D_Tech
Perhaps in "Database Settings -> Client-server -> Client-Server Connections 
Timeout”.

> On Jun 20, 2019, at 9:14 PM, Jeffrey Kain via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> if the timeout that 4D Server will allow 4D Remote to stay at the 
> username/password dialog can be adjusted?

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

Notarize Custom Workflow (Submit your software)

2019-06-20 Thread Jeremy French via 4D_Tech
The presentation slides for "All About Notarization” show, on page 129, a 
submission and response.

QUESTION — How quickly does the "Result" response appear?

See image of page at:
https://i.postimg.cc/sXMqksFh/p129-submit-your-software.png

---

Details at:
All About Notarization
https://developer.apple.com/videos/play/wwdc2019/703/
Presentation Slides PDF
https://devstreaming-cdn.apple.com/videos/wwdc/2019/703yqvyjv9mi5ur6/703/703_all_about_notarization.pdf?dl=1
**
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
**

Apple Notarizing (Where is 4D documentation on how to notarize a 4D merged app?)

2019-06-16 Thread Jeremy French via 4D_Tech
Is there a Tech Note or Tip detailing the steps to submit signed 4D merged app 
for notarization?

(Searching the knowledge base didn't find anything for "notarize" or 
"notarizing")

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

Re: Arrays in objects

2019-06-11 Thread Jeremy French via 4D_Tech
This stores the headers in an object, and retrieves the headers from that 
object as arrays:

// construct the get header/value pairs
$c:new collection
$c.push(New object("header";"A";"value";"AV"))
$c.push(New object("header";"B";"value";"BV"))
// add more headers
  
// the object you want
$myObject_o:=New object("http_header";$c)

// retrieve the arrays you want for HTTP Get parameters
ARRAY TEXT($header_at;0)
ARRAY TEXT($value_at;0)
COLLECTION TO 
ARRAY($myObject_o.http_header;$header_at;"header";$value_at;"value")

// now you have 2-synchronized arrays for the HTTP Get command header/value 
parameters.

> On Jun 11, 2019, at 2:41 AM, Jeremy Roussak via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> use arrays within an object as parameters to HTTP Get.

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

Re: View Pro: Setting column widths

2019-05-24 Thread Jeremy French via 4D_Tech
Hi Pat,

When there is no 4D command to do something in 4D Write Pro, try javascript. 

I suggest using an anomymous javascript function.

Build your javascript code using a 4D Object with the “New formula” command.

The basic shell — for an anonymous javascript function in 4D code — is the 
following 4-lines:

—
$js:=New object("val";"";"add";New formula(This.val:=This.val+$1))

$js.add("(function(){“)

// Your javascript code will go between these 2-lines: immediately above and 
below this comment.

$js.add("})();")

$t:=WA Evaluate JavaScript(*;$objName_vp_t;$js.val;Is text)
—

You then add as many “js.add(“”) lines as necessary to write javascript to 
accomplish the spread sheet behavior you want.

Here’s how I set a column width to a specific size. The size is in points.

—
  // local
C_OBJECT($js)
C_TEXT($t)

  // parameter
C_TEXT($1;$objName_vp_t)  // write pro view object name
C_LONGINT($2;$column_number_i)  // column number
C_LONGINT($3;$column_width_i)  // column width (in points)

$objName_vp_t:=$1
$column_number_i:=$2
$column_width_i:=$3

$js:=New object("val";"";"add";New formula(This.val:=This.val+$1))

$js.add("(function(){")
$js.add("var sheet = Utils.currentSheet;")
$js.add("sheet.setColumnWidth("+String($column_number_i)+", 
"+String($column_width_i)+",GC.Spread.Sheets.SheetArea.viewport);")
$js.add("})();")

$t:=WA Evaluate JavaScript(*;$objName_vp_t;$js.val;Is text)
—

Details on “setColumnWidth” are at:

https://help.grapecity.com/spread/SpreadSheets11/webframe.html#autofit.html 


Best regards,
Jeremy



> On May 24, 2019, at 5:04 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> How do you set a column width (via code) in View Pro?

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

4D Moving Dialog (What does italicized text mean?)

2019-05-21 Thread Jeremy French via 4D_Tech
What do italicized rows indicate in the “Moving Dialog”?

What is the difference between plain text rows and italicized rows?

Example: https://i.postimg.cc/28KLB1PX/move-dialog.png

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

Re: 4D View - create spans?

2019-05-21 Thread Jeremy French via 4D_Tech
Hi Pat,

Interesting 4D View Pro question.

I just tried the following code; it merges cells.

Remember that the index to rows and columns is zero based. For example, row #3 
is index #2.

This example merges 6 columns at row 4, column 1.

Wrapping the javascript into an object is Miyako's suggestion. It makes the 
code easier to read and edit.

—
C_LONGINT($row_count_i)
C_LONGINT($row_i)
C_LONGINT($column_count_i)
C_LONGINT($column_i
C_OBJECT($js)
C_TEXT($objName_vp_t)
C_TEXT($t)

$objName_vp_t:="ViewProArea"

$row_i:=3  // zero based. This is the 4th row.
$column_i:=0  // zero based. This is the 1st column.
$row_count_i:=1
$column_count_i:=6

$js:=New object("val";"";"add";New formula(This.val:=This.val+$1))

$js.add("(function(){")
$js.add("var sheet = Utils.currentSheet;")
$js.add("sheet.addSpan("+String($row_i)+","+String($column_i)+","+String($row_count_i)+","+String($column_count_i)+",
 GC.Spread.Sheets.SheetArea.viewport);")
$js.add("})();")


$t:=WA Evaluate JavaScript(*;$objName_vp_t;$js.val;Is text)
—


More details on “addSpan” at:

https://help.grapecity.com/spread/SpreadSheets12/webframe.html#sccellspan.html 




Best regards,
Jeremy

> On May 21, 2019, at 10:01 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I can see how to create cell spans via the user interface, when the toolbar
> is displayed ("merge and center" button) but does anybody know how to do it
> via code?

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

4D Write Pro (where is list of reserved attributes?)

2019-05-17 Thread Jeremy French via 4D_Tech
Can I change a 4D Write Pro table’s id attribute to some custom value?

A recent 4D Tech Tip "Write Pro Object Attributes" says:

"With a 4D Write Pro object custom attributes and values can be assigned to the 
4D Write Pro object as long as the attribute is not a reserved attribute.”

Where do we find a list of the reserved attributes?

Tech Tip: Write Pro Object Attributes
https://kb.4d.com/assetid=78255




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

4D Write Pro R4 (How to insert a table between 2-existing tables?)

2019-05-10 Thread Jeremy French via 4D_Tech
===
GIVEN
===

1) 2-tables created one after the other: "A", "B".
2) A reference available to each table.
3) An empty string separates each-table.


   $range_o:=WP Create range(wpArea_o;wk end text;wk end text)
   WP SET TEXT($range_o;"";wk append;wk include in range)
   $tableA_o:=WP Insert table($range_o;wk append;wk include in range;3;1)

   $range_o:=WP Create range(wpArea_o;wk end text;wk end text)
   WP SET TEXT($range_o;"";wk append;wk include in range)
   $tableB_o:=WP Insert table($range_o;wk append;wk include in range;3;1)



===
QUESTION
===

How can I insert a table between the existing 2-tables "A" and "B"?
**
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
**

Re: WA SET PAGE CONTENT - doesn't work first time

2019-05-04 Thread Jeremy French via 4D_Tech
Is the “On Timer” event check-marked for the form?

Is the Web Area’s “use embedded Web rendering engine” property check-marked?


> On May 4, 2019, at 10:20 AM, Jeremy French via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi Pat,
> 
> Try this (in the form’s form method) to initialize the web area:
> 
> -
> Case of 
>: (Form event=On Load)
> 
>WA OPEN URL(*;$objName_webArea_t;"about:blank")
>WA SET PAGE CONTENT(*;$objName_webArea_t;"";"file:///")
>SET TIMER(-1)
> 
>: (Form event=On Timer)
> 
>SET TIMER(0)
>WA OPEN URL(*;$objName_webArea_t;"about:blank")
>WA SET PAGE CONTENT(*;$objName_webArea_t;"";"file:///")
> 
>  // now the web area has been initialized
> 
> End case 
> -
> 
> Best regards,
> Jeremy
> 
> 
> 
>> On May 4, 2019, at 8:05 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> WA SET PAGE CONTENT(WebAreaHelp;$HTML;"file:/// ")
>> 
>> After a new window has been opened, this does not work the first time it is
>> called: you just get an empty web area.
>> Any subsequent calls - it works.
>> 
>> …I guess the area gets initialised in some way when the page is displayed
>> for the first time.
> 
> **
> 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
> **

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

Re: WA SET PAGE CONTENT - doesn't work first time

2019-05-04 Thread Jeremy French via 4D_Tech
Hi Pat,

Try this (in the form’s form method) to initialize the web area:

-
Case of 
: (Form event=On Load)

WA OPEN URL(*;$objName_webArea_t;"about:blank")
WA SET PAGE CONTENT(*;$objName_webArea_t;"";"file:///")
SET TIMER(-1)

: (Form event=On Timer)

SET TIMER(0)
WA OPEN URL(*;$objName_webArea_t;"about:blank")
WA SET PAGE CONTENT(*;$objName_webArea_t;"";"file:///")

  // now the web area has been initialized

End case 
-

Best regards,
Jeremy



> On May 4, 2019, at 8:05 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> WA SET PAGE CONTENT(WebAreaHelp;$HTML;"file:/// ")
> 
> After a new window has been opened, this does not work the first time it is
> called: you just get an empty web area.
> Any subsequent calls - it works.
> 
> …I guess the area gets initialised in some way when the page is displayed
> for the first time.

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

4D View Pro (How to set the"options.autoFitType" property?)

2019-04-26 Thread Jeremy French via 4D_Tech
How do I set the “options.autoFitT” type property?

I am using the command "WA Evaluate JavaScript” to access more features of 4D 
View Pro (which uses SpreadJS from GrapeCity.)

When I invoke “activeSheet.autoFitColumn”, I would like to **include** column 
header text for column resizing (as well as text in the column’s data).

The “options.autoFitType" property is mentioned in the documentation for "Using 
Automatic Fit". But where do I find the documentation on how to set the 
“options.autoFitType" property?

Documentation at:
https://help.grapecity.com/spread/SpreadSheets11/webframe.html#autofit.html

Using:
4D v17R4 (release).

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

Re: Code signing works on one app but fails on another

2019-04-24 Thread Jeremy French via 4D_Tech
Hi Pat,

Did you specify that DropDMG **also** sign the dmg file?

In other words, your app is signed and the DMG file is also signed.

You can sign the DMG through a DropDMG preference.

See “DropDMG -> Preferences -> Configurations”. Look for “Signing”, and enter 
your Apple Developer credential.

- Jeremy


> On Apr 24, 2019, at 12:42 PM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> compile the app, sign it … and create a disk image using DropDMG

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

Re: trying to Build double clickable app

2019-04-17 Thread Jeremy French via 4D_Tech
Hi Chip,

As Chuck points out, did you specify the location of Unlimited Desktop?

That is,
Choose DESIGN -> BUILD APPLICATION.
Select the “Application” tab.
Check-mark “Build stand-alone application”.
Click the ellipsis button (ie, “…”) and select 4D Volume Desktop.
Click BUILD.

- Jeremy

> On Apr 17, 2019, at 2:24 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> am I missing something?

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

Re: Web area and not secure site

2019-04-11 Thread Jeremy French via 4D_Tech
Have you tried making these calls in the form’s “form method”.

In the form’s “On Load” event

 WA OPEN URL(*;$objName_webArea_t;"about:blank")
 WA SET PAGE CONTENT(*;$objName_webArea_t;"";"file:///“)
 SET TIMER(-1)  

In the form’s “On Timer” event

 SET TIMER(0)   
 WA OPEN URL(*;$objName_webArea_t;"about:blank")
 WA SET PAGE CONTENT(*;$objName_webArea_t;"";"file:///“)

Also see:
https://doc.4d.com/4Dv17/4D/17.1/SET-TIMER.301-4178784.en.html 


> On Apr 11, 2019, at 3:25 AM, Piotr Chabot Stadhouders via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
>  I don't use the embedded version because
> * in 64-bit (Blink) I get an blank HTML page, and nothing is shown

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

Transparency (Object property vs RGB color "Background color none")

2019-04-02 Thread Jeremy French via 4D_Tech
What is the difference between

RGB Color constant "Background color none"
Object Property "Transparent" checkbox

=
Transparent unchecked
=

If the object property "Transparent" is unchecked, then

OBJECT SET RGB COLOR(*;$object_name_t;Foreground color;Background color none)

makes the object's background appear transparent.

And subsequently calling:

OBJECT SET RGB COLOR(*;$object_name_t;Foreground color;Background color)

restores the object's background color to white.

=
Transparent Check-marked
=

If the object property "Transparent" is check-marked, then the object's 
background appears transparent.

Calling 

OBJECT SET RGB COLOR(*;$object_name_t;Foreground color;Background color)

appears to have no effect: the object's background **remains** Transparent.

=
Question
=

What is the difference between the object property "Transparent" and the RGB 
Color constant "Background color none"?

In particular, why doesn't

OBJECT SET RGB COLOR(*;$object_name_t;Foreground color;Background color)

have the effect of unchecking the "Transparent" property?

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

Re: Write Pro: Styling tables

2019-03-17 Thread Jeremy French via 4D_Tech
Hi Pat,

"WP Get elements" returns a collection. So the first row is element 0.

https://doc.4d.com/4Dv17R3/4D/17-R3/WP-Get-elements.301-3920772.en.html 


- Jeremy

> On Mar 17, 2019, at 9:36 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> *Problem no. 1: Attributes are applied to the wrong row*
> 
> $rows:=*WP Get elements*(wptable;wk type table row)
> $row:=$rows[1]
> 
> *WP SET ATTRIBUTES*($row;wk font bold;*True*)
> *WP SET ATTRIBUTES*($row;wk font size;"16pt")
> 
> These attributes are applied, but to Row 2 instead of Row 1!



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

Re: Write Pro: Styling tables

2019-03-17 Thread Jeremy French via 4D_Tech
Hi Pat,

The docs seem to indicate we can’t apply style sheets to tables.

See 
https://doc.4d.com/4Dv17R4/4D/17-R4/4D-Write-Pro-Attributes.300-403.en.html#Paragraph_3936745
 


- Jeremy

> On Mar 17, 2019, at 9:36 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Using v17r4.
> 
> *Problem no. 2: Cannot apply a stylesheet*

> Stylesheets are applied in the same manner elsewhere in the document, and 
> they work fine -
> just not when applied to tables.

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

Re: Loose Object attribute typing

2019-03-12 Thread Jeremy French via 4D_Tech
Have you looked at the command  “Value type” to test the value type of an 
object value?

Value type
https://doc.4d.com/4Dv17R3/4D/17-R3/Value-type.301-3906446.en.html 


Remember that the “String” command simply returns a string when its parameter 
is **also** a string.

So “Some_Method” might replace

> ALERT(String($obj.val))

with

If (Value type($obj.val)=Is longint)
 ALERT(String($obj.val))
else
 ALERT($obj.val)
end if

——

And “test_Calc” might replace
  
> $obj.val:=$obj.val*3

with

if (Value type($obj.val)=Is longint)
$obj.val:=$obj.val*3
end if

——

And the “Shift” assignment might replace

>  If (Shift down)
>   $v:="ward_a"
>  Else 
>   $v:=30
>  End if 


with simply

 If (Shift down)
$obj.val:="ward_a"
 Else 
$obj.val:=30
 End if 


> On Mar 12, 2019, at 4:18 PM, Keith Culotta via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> This seems to be a really advantageous way to use objects.  It compiles and 
> returns good results.  I can see where caution would be advised, but is using 
> an object this way going to break eventually as the 4D language matures, or 
> is it an advantage of objects?
> 
>  // 
>  // Method: test_Calc 
>  // INPUT1: Object  
> C_OBJECT($obj;$1)
> $obj:=$1
> $obj.val:=$obj.val*3
> 
> 
>  // ---
>  // Method: Some_Method 
> C_OBJECT($obj)
> If (Shift down)
>   $obj:=New object("val";"ward_a")  // Alert displays "ward_award_award_a"
> Else 
>   $obj:=New object("val";30)  // Alert displays 90
> End if 
> test_Calc ($obj)
> ALERT(String($obj.val))
> 
> 
> //---
> //  this would not compile
> // If (Shift down)
> //$v:="ward_a"
> // Else 
> //$v:=30
> // End if 

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

Re: Printing forms modified with Duplicate Object

2019-03-07 Thread Jeremy French via 4D_Tech
Can we use real values for positioning and width/height with the "Print object" 
command?


> On Mar 6, 2019, at 7:41 PM, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> have you looked into the "Print object" command?
> 
> you can print … at any position (decimal, not integer positioning)

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

What is "DirectWrite API" and "GDI API"?

2019-03-03 Thread Jeremy French via 4D_Tech

What is the meaning of:

1) DirectWrite API
2) GDI API

used in the following sentence:

"This is because the calculation of the best size for a list box is based on 
the DirectWrite API while other objects are based on the GDI API.”

See “ Tech Tip: Differences of OBJECT GET BEST SIZE Behavior”
https://kb.4d.com/assetid=78214 
 


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

Re: 4D JSON Date Bug

2019-02-24 Thread Jeremy French via 4D_Tech
Hi Bart,

If you store a date in an Object as a string, 4D interprets that date as a UTF 
date.

So “2019-02-24” (giving only the date but not time) is interpreted as midnight 
on the 24th. That is at the stroke of midnight when the 24th day **starts**.

When you retrieve the value around 6:30 PST on the 24th, 4D is converting to 
your local time — which is several hours **before** the 24th begins. Hence you 
see the 23rd.

If you pass a 4D date, the problem won’t happen. That is replace the string 
("2019-02-24”) with a 4D date (#2019-02-24#).

There’s also a compatibility setting that where you can specify that string 
dates are to be treated as 4D dates. That is, no time associated with the date. 
Then your expression:

> OB SET($obj;"apiDate";"2019-02-24")


would always return the 24th

Best regards,
Jeremy


> On Feb 24, 2019, at 9:24 PM, Bart Davis via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> If you store a 4D date value in an object and retrieve it the value is 
> correct.  However, if you retrieve a date that is stored in the format 
> -MM-DD, the date returned is one day less that the date stored.
> 
> The code below illustrates the issue.  I have only tested this on Mac OS 
> using 4D v17.1  (Note:  I tested this at 6:30 pm PST and am not sure if GMT 
> offset has any effect)
> 
> Has anyone else experienced this issue?
> 
> Thanks,
> Bart
> 
> C_DATE($4dDate;$apiDate)
> C_OBJECT($obj)
> 
> $obj:=New object
> $today:=Current date
> 
> OB SET($obj;"4Ddate";$today)
> OB SET($obj;"apiDate";"2019-02-24")
> 
> $4dDate:=ob get($obj;"4Ddate";Is date)  // date returned is correct 2019-02-24
> $apiDate:=ob get($obj;"apiDate";Is date) // ERROR: date returned is 2019-02-23

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

Re: Query by Formula Count of Records in Related Table

2019-02-18 Thread Jeremy French via 4D_Tech
Can you use ORDA?

$entity_selection_o:=ds.theTable.query("theOneToManyRelationName.length = 0 OR 
theOneToManyRelationName.length > x")
USE ENTITY SELECTION($entity_selection_o)

Now each record in the current selection for theTable either has either no 
related records or more than x-related records.



> On Feb 18, 2019, at 3:00 PM, Jim Medlen via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> is it possible to query for records that have no related records or greater 
> than X

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

Re: Easy dynamic field highlighting

2019-02-17 Thread Jeremy French via 4D_Tech
Impressive! Polished!

> On Feb 16, 2019, at 10:20 PM, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> … adding dynamic field highlighting on the fly … improved animation
**
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
**

Re: On Drag Over Behavior

2019-02-14 Thread Jeremy French via 4D_Tech
Have you checked the property inspector for the drop variable?

In particular are these 2-properties check-marked for the drop variable?
1) “Droppable” in the “Action” theme
2) “On drop” in the “Event” theme

Also, if the “On drop” event code has $0, make sure $0 returns 0 or simply (for 
the moment) comment out the $0 line.

Then try dragging to the drop variable. When the pointer is over the drop 
variable, does the cursor automatically change to a plus sign?

Something like this:

https://i.postimg.cc/SKb4z3ZL/p01-dropable-mouse-indicator.png 


> On Feb 14, 2019, at 11:55 AM, John J Foster via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> would like to see the variable get hi lighted or something. But nothing 
> happens and I don’t recall if I have to do something else?

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

Re: On Drag Over Behavior

2019-02-14 Thread Jeremy French via 4D_Tech
Hi John,

Using the pasteboard for drag and drop is so much easier.

4D changes clipboards briefly during the drag and drop events. 

Whatever was in the pasteboard **before** “On Begin Drag Over” is restored 
**after** the “On Drop” event completes.

This means you can store drag information in the pasteboard during the “On 
Begin Drag Over” event. Then retrieve that information during the “On Drop” 
event. This “silent” pasteboard switching allows storing drag information 
during the “On Begin Drag Over” event and retrieving that information during 
the “On Drop” event. After “On Drop” completes, whatever was in the pasteboard 
before “On Begin Drag Over” is returned to the pasteboard.

You also need to set 1-specific property for the source object: enable the “On 
Begin Drag Over” event.

2-specific properties are needed for the destination object: enable both 
“Droppable” action and “On Drop” event.

In the source object, have code like this:

---
Case of
  :(form event=On Begin Drag Over)

   // Create an object containing info you want to get on drop. Then store in 
pasteboard.
  $o := New object(….)
 SET TEXT TO PASTEBOARD(JSON Stringify($o)

End case
---

In the destination object, have code like this:

---
Case of
  :(form event=On Begin Drag Over)

   // Retrieve the drop information
  $json_t:=Get text from pasteboard
  SET TEXT TO PASTEBOARD(JSON Stringify($o))
  $o:=JSON Parse($json_t)

End case
---

Best regards,
Jeremy

> On Feb 14, 2019, at 11:55 AM, John J Foster via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> am also in process of learning to use the pasteboard to get rid of the 
> obsolete command. Any help would be appreciated.

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

Re: v17 conundrum in design

2019-02-09 Thread Jeremy French via 4D_Tech
Using the Runtime Explorer window, ave you tried clicking "Delete All" for 
Break and Catch, even if no breaks or catches are listed?


> On Feb 7, 2019, at 3:39 PM, Chuck Miller via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> no break points either in the method or when I show break points, yet it 
> continues to stop at a particular line of code and it is annoying

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

Remote Runtime Error (What is an "entity set"?)

2019-02-08 Thread Jeremy French via 4D_Tech

The following runtime error appears on remote client in interpretive mode:

1802 — The “XX” entity set cannot be found
https://i.postimg.cc/8c643XbC/p01-entity-set-error.png 


The documentation has a **different** description for error #1802, which is:

1802 — Failed to execute INSERT command.
https://doc.4d.com/4Dv17/4D/17/SQL-Engine-Errors-1001-3018.300-3729644.en.html 



Questions:

1) What is an “entity set”? (Note the word “set” rather than “collection” in 
the error message.)

2) Why are “Edit” and “Trace” buttons disabled? 
**
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
**

Re: use (storage)

2019-02-01 Thread Jeremy French via 4D_Tech
Hi David,

No locking occurs with "Use (Storage)” by itself.

But locking does occur for **first level** attributes of Storage.

So “Use (Storage.pref)” performs locking in other processes.

To prevent “Storage.pref” from being updated in a separate process, call:

Use (Storage.pref)
  // make modifications to pref
End Use

More details at:
https://doc.4d.com/4Dv17R3/4D/17-R3/Storage.301-3907264.en.html 


Best regards,
Jeremy

> On Feb 1, 2019, at 4:45 PM, David Ringsmuth via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> My test show that
> 
> Use(Storage)
> ….
> 
> Does not lock Storage.pref, and does not prevent Storage.pref from being 
> updated in a separate process.

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

Re: Popup/Dropdown element 0

2019-01-31 Thread Jeremy French via 4D_Tech
Hi Miyako,

Your example database:

https://doc.4d.com/4Dv16/4D/16.4/Pop-up-MenusDrop-down-Lists.300-3998943.en.html
 


shows assigning a “Form” object to store the popup’s current state. 

The object assigned to the popup menu has these 2-properties: “val” and “ref”.

From your code:
—
$list:=New list

APPEND TO LIST($list;"a";1)
APPEND TO LIST($list;"b";2)
APPEND TO LIST($list;"c";3)

OBJECT SET LIST BY REFERENCE(*;OBJECT Get name(Object current);Choice 
list;$list)

Form[OBJECT Get name(Object current)]:=New object("val";1;"ref";$list) 
—

Where do we find the documentation that says we can associate a popup with a 
hierarchical list using a Form.object, where the object has these 2-properties 
“val” and “ref” that reflect the popup’s current choice?

Best regards,

- Jeremy

> On Jan 28, 2019, at 10:16 PM, Keisuke Miyako via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> associate the popup menu to "list item value (not ref.)"
> 
> https://forums.4d.com/4DBB_Main/x_User/298210/files/28213957.zip 
> 
**
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
**

Re: Annoying square

2018-12-16 Thread Jeremy French via 4D_Tech
Hi Carl,

The 4D iNUG list is plain text only. (That’s why your screen shot wasn’t 
published.)

But you can share images on the list (indirectly) by providing a link to the 
image.

See https://postimages.org  which offers free image 
posting.

Just upload your screenshot (at above URL). Then post the screenshot’s URL on 
the iNUG.

You can actually publish images in the body of your post when using 4D’s forum 
at:
http://forums.4d.com/MyHome/EN

Regards,

Jeremy



> On Dec 16, 2018, at 6:47 AM, Carl Aage Wangel via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> …previously sent a screenshot but it wasn't published on the list (for 
> whatever reason)…

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

Re: View Pro

2018-12-05 Thread Jeremy French via 4D_Tech
Hi Jeremy,

I believe 4D View Pro is actually a 4D web area.

The 4D View Pro spread sheet is based on SpreadJS.

SpreadJS documentation (difficult to read) is at:
http://help.grapecity.com/spread/SpreadJSWeb/webframe.html#welcome.html

You can use the command WA Evaluate JavaScript to do some limited things, like 
setting and getting cell values, formatting and so on.

Here’s an example of using JSON and a single JavaScript line to place data in 
4D View Pro:
http://help.grapecity.com/spread/SpreadJSWeb/webframe.html#scbindadd.html

Here’s another example using several “single” lines of JavaScript to place data 
in 4D Pro. See commented example "or use bindColumns to bind all custom 
columns”.

https://www.grapecity.com/en/demos/spread/JS/TutorialSample/#/demos/sheetLevelBinding

For individual cell set/get see:
http://help.grapecity.com/spread/SpreadJSWeb/webframe.html#scvalue.html
http://help.grapecity.com/spread/SpreadJSWeb/webframe.html#scgetvalue.html

As for 4D documentation, see this post from Laurent Esnault at 4D:
http://forums.4d.com/Post/FR/26665847/1/26673658#26673658

There are a few helpful 4D View Pro examples at blog.4d.com. Search for “View”.

- Jeremy French



> On Dec 5, 2018, at 9:25 AM, Jeremy Roussak via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I’ve never used View before. Older versions than v17 seem to have a suite of 
> PV commands for getting and setting cell values and so on. They aren’t listed 
> in the 4D View Pro documentation. What am I missing? (something obvious, I’m 
> sure).
**
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
**

Re: 4Dv17 + Windows 10 + VirtualBox

2018-11-12 Thread Jeremy French via 4D_Tech
Hi Pat,

This reminds me of the the expression "The pump must be primed".

With respect to building merged client/server apps where clients wil run on 
both platforms, "the pump must be primed".

This means the initial client/server merge is performed on **each** platform. 
(This is the pump priming part.)

So build client/server **WITHOUT** checking "Automatic update". This means the 
initial merge must be done on **both** platforms.
1. Mac (producing mac server and mac client); and
2. Windows (producing windows server and windows client).

The initial installation will be:
1) Server on platform for which it was merged.
2) Mac clients which were merged on Mac OS.
3) Windows clients which were merged on Windows OS.

So the above is the first installation at the client site.

Thereafter, you can perform the server/client merged with automatic updating.

You need to perform subsequent server/client merges on **ONLY ONE** platform. 
(The pump is now primed.)

If you choose to work on the Mac platform:
1) Place a copy of the windows "4D Volume Desktop" on the mac next to the Mac 
"4D Volume Desktop".
2) In the "Build Application" window, check-mark "Allow automatic updates" for 
each client.
3) Click the elipsis button to specify the location of each "4D Volume Desktop" 
(mac and windows).

You will have a merged server app that can automatically update existing 
clients (on mac and also windows.)

If you choose to work on the Windows platform:
1) Place a copy of the Mac "4D Volume Desktop" on Windows next to the Windows 
"4D Volume Desktop".
2) In the "Build Application" window, check-mark "Allow automatic updates" for 
each client.
3) Click the elipsis button to specify the location of each "4D Volume Desktop" 
(windows and mac).

You will have a merged server app that can automatically update existing 
clients (on windows and also mac.)

Does this help?

Best regards,
Jeremy French



> On Nov 12, 2018, at 9:18 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Anybody else using this configuration?
> 
> I find that it works OK - although rather slowly - with one exception:
> When I compile a multi-user app, if I include the automatic client updating
> options for Windows and Mac, it does not compile the Client app. I get an
> error message "Cannot install the updater tool's manifest" and the Client
> folder is named "4D Volume Desktop" instead of what it should be name.
> 
> If I don't include the Client updating options, it compiles the Client and
> Server apps OK.
> I suspect it has something to do with the Mac Volume Desktop. I've tried
> copying it over to the Windows partitiion and selecting it there, and
> selecting it directly on the Mac partition - same problem occurs both ways.
> 
> Anybody else doing this, and have you done it successfully?

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

Re: Placing a picture or graphic object

2018-11-11 Thread Jeremy French via 4D_Tech
Hi Peter,

Ok, so the line is 1px wide and 60px high. You want to keep the line's 
dimensions but relocate the line to top = 0, left =55.

Use absolute coordinates (which occur when the asterisk parameter is present.)

Specify the top left coordinates as (x=55, y=0)
Specify the bottom right coordinates (x=55, y=60)

So you end up with this call:

MOVE OBJECT(*;”<>Cursor2”;55;0;55;60;*)

Regards,
Jeremy French

> On Nov 11, 2018, at 2:56 PM, Peter Mew via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I want to place a Grapic called "Cursor" at absolute
> coordinates ^0 pixels from the top of the form, and 55 pixels from the left
> edge of the form, no resizing.
> so I call
> $CursorPosPix:=55
> OBJECT MOVE(*;"<>Cursor2";$CursorPosPix;60;0;0;*)
> <>Cursor2 is a Vertical Line 1 pixel in width and 60 pixels high

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

Re: INVOKE ACTION only works when I trace through it

2018-11-11 Thread Jeremy French via 4D_Tech
Hi Pat,

Can you simply assign tEditText to the field after returning from the method 
*PicturePathSelect*?

That is:

*PicturePathSelect* (->tEditText) // choose a pic, copy pathname to tEditText

[someTable]someField := tEditText

Regards,
Jeremy French


> On Nov 11, 2018, at 12:39 PM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Using v17, Mac
> 
> I have an enterable field on a form. The user can right-click on it and
> select an action such as "Select a picture" from a dynamic popup menu.
> 
> The code that runs:
> 
> tEditText:=""
> 
> *PicturePathSelect* (->tEditText) // choose a pic, copy pathname to
> tEditText
> 
> *SET TEXT TO PASTEBOARD*(tEditText)
> 
> *INVOKE ACTION*(ak clear)
> 
> *INVOKE ACTION*(ak paste)
> If I put a trace on the last line of this code and then step through that
> line, then press F5, it works as expected: the picture pathname is copied
> into the selected field.
> If I don't trace through it, this simply does not work. The field is no
> longer the active object and the text hasn't been copied into it.

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

Re: Collection of Telemetry Data

2018-11-09 Thread Jeremy French via 4D_Tech
For communicating, take a look at:
http://doc.4d.com/4Dv17R2/4D/17-R2.1720/HTTP-Request.301-3856768.en.html 



> On Nov 9, 2018, at 2:39 AM, Robert ListMail via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> I imagine this data would be collected in local tables and synced to another 
> 4D database every night.

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

Re: Checkbox in collection based listbox

2018-11-07 Thread Jeremy French via 4D_Tech
Hi Andrew,

Did you set the “Data type" to “Boolean” in the Property List's “Data Source” 
theme? 

(The default data type is “String", which will only display “True” or “False” 
for Boolean values.)

- Jeremy French



> On Nov 7, 2018, at 2:57 AM, Andrew Hickey via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi all,
> 
> I have a listbox with a reviewed column.
> 
> I populate the Form.listData entity selection based on the state and
> selection from a previous query.
> 
> However, I cannot get the Boolean field to display as a checkbox, the option
> does not appear under the Display section of the properties and so far I
> have not been able to use OBJECT Set Format to force it as part of the On
> Load handler.
> 
> has anyone else had success with check boxes and Collection based list
> boxes?  Is there something obvious I have missed?
> 
> Many thanks,
> Andrew
> 
> 
> 
> --
> Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
> **
> 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
> **

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

Re: Current time (*) incorrect today on v17?

2018-11-04 Thread Jeremy French via 4D_Tech
Are the server and client in the same time zone?

In the US the time changed — in the early morning of November 4th — from 
daylight saving time to standard time.

So, do both the server and client computers automatically set the date and 
time? If not, is the client still on daylight saving time?


> On Nov 4, 2018, at 11:23 AM, Jeffrey Kain via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Is anyone else seeing that current time (*) called from a Mac client to a 
> Windows server running 4D v17 (HF3) is returning a time that's an hour ahead?
> 
> The Windows time on the server is current, and current time on the server 
> returns the correct time.  But current time(*) from a client is an hour ahead.

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

Re: Setting up an entity / collection listbox in code

2018-10-29 Thread Jeremy French via 4D_Tech
> It’s great to be able to make generic listboxes and set them up entirely in 
> code. It’s easy for array-based and selection-based listboxes, but can it be 
> done for entity/collection boxes?

Yes. It's even more easy using collections.

> In other words, are there LISTBOX SET xx calls to identify the names of the 
> variables unique to entity/collection boxes: the collection/entity source; 
> the current item; the current item position; and the selected items? 

No new listbox commands are needed, since we have the "Form" command.
 
I'm using the naming convention:

Form.LBA
Form.itemA
Form.indexA
Form.selectedA

where "A" uniquely identies the listbox collection. If more than one listbox is 
present on the form, the "A" becomes "B", "C" and so on.

So the listbox properties would show these references:

https://i.postimg.cc/SxB6FPPL/collection-listbox.png 


Use the "LISTBOX INSERT COLUMN FORMULA” command to create columns. Remember to 
prefix attribute names with “This."




> On Oct 29, 2018, at 6:21 AM, Jeremy Roussak via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> It’s great to be able to make generic listboxes and set them up entirely in 
> code. It’s easy for array-based and selection-based listboxes, but can it be 
> done for entity/collection boxes?
> 
> In other words, are there LISTBOX SET xx calls to identify the names of the 
> variables unique to entity/collection boxes: the collection/entity source; 
> the current item; the current item position; and the selected items? 
> 
> I can’t find them, but it’s perfectly possible that, as so often, I’ve missed 
> something.
> 
> Jeremy
> **
> 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
> **

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

Re: Codesigning

2018-10-14 Thread Jeremy French via 4D_Tech
Have you tried entering this wording (taken from the screen shot you posted) — 
using the same case and spacing as shown below:

Developer ID Application: Jeremy Roussak (6PT289NM55)

> On Oct 14, 2018, at 9:54 AM, Jeremy Roussak via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> 
> What do I put into the “Name of certificate” in the “Build application” 
> dialog? I’ve tried my name only, the parenthesised text only and both, but 
> each time I get “Code signature failed”. 

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

Re: v13+ Opening a structure interpreted

2018-09-13 Thread Jeremy French via 4D_Tech
Hi Chip,

Yes.

Open 4D first.
Choose “File -> Open -> Open Local Database.
After highlighting the database, do the following:

On PC, click the drop down menu icon found on the “Open” button
On Mac, click the “Options” button at bottom left.

For both platforms a drop menu then appears. Choose “Interpretive”.

- Jeremy French

> On Sep 13, 2018, at 1:20 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Is there a key combination which will allow me to choose the how to 
> open the database (compiled or interpretedly)?

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

Re: 4d Write fonts missing

2018-08-17 Thread Jeremy French via 4D_Tech
“Times" is present but its spelling is different.

Take a look at the list of fonts included with High Sierra:

https://support.apple.com/en-us/HT206872\ 



> On Aug 17, 2018, at 11:32 AM, JOHN BAUGHMAN via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
>  computers running HIgh Sierra lost the Times font.

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

Re: Multi-Style Reference Toggle

2018-08-07 Thread Jeremy French via 4D_Tech
For multi-style text areas, take a look at: 
http://doc.4d.com/4Dv17/4D/17/ST-SET-OPTIONS.301-3729984.en.html

> On Aug 7, 2018, at 12:18 PM, Tom Dillon via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> In a multi-style text area, is it possible, like in 4D Write, to toggle the 
> display between showing References and Data?

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

Re: Scheduled ISP Maintenance @ 4D Office (France)

2018-08-06 Thread Jeremy French via 4D_Tech
The URLs are still unreachable as of Monday morning, August 6th Eastern 
Daylight Time.

It’s impossible to connect to:
Taow.4d.com 
Livedoc.4d.com 
Forums.4d.com 


> On Aug 3, 2018, at 6:25 PM, Timothy Penner via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> scheduled maintenance that started 20 minutes ago and is planned to last 
> another 4 hours 10 minutes. During this time frame, some of our services will 
> be unreachable

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

Re: ORDA question: how do I add related fields to an entity selection?

2018-07-31 Thread Jeremy French via 4D_Tech
Hi Julio,

Have you looked at:
http://doc.4d.com/4Dv17/4D/17/dataClassAttributerelatedDataClass.303-3884018.en.html

Relation attributes have 3-properties:
1) kind
2) name
3) relatedDataClass

The "kind" property tells you the type of relation: one or many.
The "name" property is the name you assign in the 4D Relation Inspector.
The "relatedDataClass" identifies the name of the related table.

Try creating 2-tables with a one-to-many relation. Say "Owner" (one table) and 
"Item" (many table.)
In the Relation Inspector, name the relations:

Many to one as "theOwner"
One to many as "theItems"

Don't forget to restart 4D before examining in the Debugger. With ORDA, any 
structure change requires restarting 4D to be recognized.

In the debugger's expression pane, examine the DataClass for each table.

ds.Owner
ds.Item

The relation attributes will look something like this:

ds.Item.theOwner shows this value:
{name:theOwner,kind:relatedEntity,relatedDataClass:Owner}

ds.Owner.theItems shows this value:
{name:theItems,kind:relatedEntities,relatedDataClass:Item}

Note the relation type (relatedEntity OR relatedEntities) is identified along 
with the name of the related table (Owner OR Item).

Does this info help?

- Jeremy


> On Jul 31, 2018, at 4:10 AM, Julio Carneiro via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> …that only tells me I have a relation attribute and that relation’s name. It 
> does not tell me if it is a relations between A and B, or A and C.
> Is there a way to get that?

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

Re: v17 PDF-Manuals

2018-07-30 Thread Jeremy French via 4D_Tech

I’d like to see 4D PDF Documentation in the format used for v11’s Upgrade 
manual.

Here’s a link to:
4D v11 SQL Upgrade
http://download.4d.com/Documents/Products_Documentation/LastVersions/Line_11/VIntl/PDF_Format/4D_v11_Upgrade.pdf

I suggest looking at the PDF in a PDF reader — **not** a web browser.

Be sure to use the side panel to assist navigation. The side panel is called:

* "Bookmarks" in Adobe Acrobat.
* "Table of Contents" in Apple Preview

Note how easily you can locate information. 

In particular, take a look at the **real** index.



> A return to the V11 style formatting and fonts would also help. I wish 
> designers would understand it its all about ease of use and
> readability. 


> In the V11 documentation PDF you could ...


> … comprehensive index that can be quickly searched.
**
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
**

Re: Memory leak with dynamic variables in list boxes?

2018-07-26 Thread Jeremy French via 4D_Tech
Hi Michael,

As pointed out by Oliver and Kirk, use LISTBOX GET ARRAYS to confirm the object 
names you think are present in the list box are in fact assigned as the object 
name to a header or footer. If not, you will get a nil pointer.

So, see if the value for "FTR_Names_aT{$Ndx}" is present in the footer object 
names returned by LISTBOX GET ARRAYS.

Similarly, verify that the value for "HDR_Names_aT{$Ndx}" is in fact the same 
as one of the header object names returned by LISTBOX GET ARRAYS.

- Jeremy French



> On Jul 26, 2018, at 9:32 AM, mferguson--- via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> $FtrVar_P:=OBJECT Get pointer(Object named;FTR_Names_aT{$Ndx})
> $HdrVar_P:=OBJECT Get pointer(Object named;HDR_Names_aT{$Ndx})
> 
> ... returns nil pointers

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

Re: 4D v17 -> v16 data file backward compatibility

2018-07-24 Thread Jeremy French via 4D_Tech

v17 structure cannot be opened in earlier 4D version.

But v17 data file can still be opened in v15 or v16.

More details at:

http://doc.4d.com/4Dv17/4D/17/Principles-for-conversion.200-3811872.en.html 



> On Jul 24, 2018, at 12:28 AM, Jim Crate via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> documentation that lists data file version backward compatibility? I’m 
> specifically interested in whether it’s possible to take a data file back 
> from v17 to v16.

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

Re: Problems installing built application

2018-07-22 Thread Jeremy French via 4D_Tech
Hi Don,

Have you tried the following?

In 4D, build the merged app. But do not use the signed application option. That 
is, leave the check box "signed application" unchecked.

After the merge app is built, perform signing in Terminal.

Replace with pertinent information the following place holders in the code 
below:
1) your_apple_developer_id_here
2) path_to_app

In Terminal do:
———
# clean up by removing file system extended attributes
xattr -cr path_to_app

# sign application with developer signature
codesign -s 'Developer ID Application: your_apple_developer_id_here' -f 
--deep path_to_app

# verify app signed
codesign --verify -v path_to_app
———


Does the above help?

- Jeremy French

> On Jul 21, 2018, at 8:33 PM, donkoff via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> experiencing the Code Signature Failed

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

Re: 4D Write PRO expressions

2018-07-17 Thread Jeremy French via 4D_Tech
Hi Miyako,

What’s the difference between these 2-URLs. 

doc.4d.com 

cdn.doc.4d.com 


- Jeremy French


> On Jul 17, 2018, at 4:16 PM, Keisuke Miyako via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> http://cdn.doc.4d.com/4Dv16R6/4D/16-R6/SET-ALLOWED-METHODS.301-3548364.en.html
>  
> 

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

Re: subtables issue

2018-07-15 Thread Jeremy French via 4D_Tech
Hi Chuck,

In answer to your several questions:


> ...When I open the structure, I still see subtables there. I also see the 
> tables that have been created as part of conversion. What gives? The new 
> tables appear to be there.

I believe 4D deprecated subtables starting with v11.

When converting from a pre-v11 version with subtables, 4D automatically creates 
a regular table in place of each subtable.

When creating the new regular table to replace the subtable, 4D's naming 
convention is “_”. Note the underscore 
character, separating the names of the parent table and subtable field.

All data from the original subtable is now located in the new regular table.


> I am not sure what to do now.

Complete the subtable conversion by replacing all obsolete subtable commands.

The value in the parent’s subtable field “History Detail" and converted 
subtable field “id_added_by_converter” are the same. That’s a unique Longint 
value that relates parent to its subtable data. 

Beware — you need to use the command “Get subrecord key” to access the parent’s 
subtable field’s value. I’m talking about the field "[Contract]History Detail”. 
That field is now a Longint, even though the structure editor shows “Subtable”. 
It’s value is how you will locate the “subrecords" which are now records in a 
regular table.

Subtable behavior will continue, as long as you don’t make any structure 
modifications to the original subtable field (in the parent table) and the 
“id_added_by_converter” field (in subtable that’s been converted to a regular 
table.)

You should replace all subtable commands (which are obsolete) and replace them 
with “regular” table commands.

I believe the command “Get subrecord key” will help navigate the relations 
until you complete the switch from subtable commands to regular table commands.

See: http://doc.4d.com/4Dv17/4D/17/Get-subrecord-key.301-3730628.en.html


> 
> For example I have a table named
> Contract with a subtable named History Detail
> 
> I also have a table named Contract_History Detail which has field named 
> id_added_by_converter.

The original subtable field “History Detail” is in the parent table “Contract”. 
That field’s type should appear as “Subtable”. Use the command “Get subrecord 
key” to access (or view) the “History Detail” field’s value, which is a longint.

All the subfield’s data has been moved to the new “Contract_History Detail” 
table. That’s the table with the field “id_added_by_converter”.

The subfield “History Detail” and the field “id_added_by_converter” in the new 
table “Contract_History Detail” form the relation between the data in the 
parent table (Contract) and the subtable’s data (Contract_History Detail).


> Can I just change type. why would I still be seeing this subtable the id 
> points back to the field in the Contract table

No, changing the field type will end the automatic subtable behavior. Wait 
until you complete the subtable conversion by replacing the obsolete subtable 
commands. Then decide how you would like to relate the records.

The subtable id that points back to the field in the Contract table preserves 
the relation between the parent record (Contract) and its subtable now located 
in a regular table (Contract_History Detail). They contain the same Longint 
value.

At the moment, the data value that binds the subtable records to the parent 
table is: the parent’s subtable field (“History Detail”) and the 
“id_added_by_converter” field in the new regular table “Contract_History 
Detail”. Both are Longints.

See: http://doc.4d.com/4Dv17/4D/17/Subrecords.201-3729374.en.html

Does this info help?

- Jeremy French

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: Execute on Server Method Attribute

2018-07-14 Thread Jeremy French via 4D_Tech
Does the database compile with compiler option “All variables are typed”?

Have you tried assertions to test each parameter has the expected value type 
(test, date, time, pointer, pointed array type)?

The failed assertion will be displayed on the server.

> On Jul 14, 2018, at 10:12 AM, Stephen J. Orth via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> I'm struggling with designating a method to run on the server.  The method
> has 9 parameters which are passed to it:
> 
> 1. Text Variable
> 2. Date Variable
> 3. Time (Long) Variable
> 4. Date Variable
> 5. Time (Long) Variable
> 6. Pointer To Array
> 7. Pointer To Array
> 8. Pointer To Array
> 9. Pointer To Array
> 
> When the method is called and executed on the Server, I'm getting an error:
> 
> Accessing a parameter that does not exist
> 
> If I turn off the EOS attribute, the method runs fine, so what am I missing
> here and why can't the server access the parameters I'm passing?
> 
> BTW, this is V16.3 running compiled...

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: Drag n drop between processes - native Pasteboard only?

2018-07-10 Thread Jeremy French via 4D_Tech
Hi Chip,

You don't need to use sets.

Follow Keith's scheme, but without using 4D objects (which were not available 
until v14.)

On Begin Drag, place the record's unique key in the text pasteboard. Or if 
there's more than one record,
store a delimited list of the record keys in the text pasteboard.

On Drop, locate the "dragged" records by their keys which you placed in the 
pasteboard during the "On Begin Drag” event..

- Jeremy French


> On Jul 10, 2018, at 3:15 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I was/am doing this through IP sets...
> 
> ...remember someone telling me that it was possible to do drag n 
> drop between processes using ONLY the pasteboard...

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: OPEN PRINTING JOB - how to hide the message window?

2018-07-09 Thread Jeremy French via 4D_Tech
Hi Pat,

On the Mac you can show/hide the print progress message on a per print job 
basis.

Call SET PRINT OPTION with the option "Hide printing progress option".

The call to SET PRINT OPTION should be done **before** the call OPEN PRINTING 
JOB.

See: 
http://doc.4d.com/4Dv16/4D/16.3/SET-PRINT-OPTION.301-3651139.en.html

Also, as Jeffrey Kain pointed out, you can also turn off the print progress 
message for the entire database in the “General” tab of "Database Settings".

See:
http://doc.4d.com/4Dv16/4D/16.3/User-settings.300-3670700.en.html#3075208

- Jeremy French


> On Jul 8, 2018, at 5:42 PM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> ​How do you stop the progress message from being displayed … using OPEN 
> PRINTING JOB?​

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: UUID version 4 needed

2018-07-07 Thread Jeremy French via 4D_Tech
Is the version number being decoded correctly?

According to Wikipedia, there are several variants of encoding UUIDs:

1) Little-endian
2) Big-endian
3) Mixed-endian

To decode the UUID version number, you need to know what encoding variant was 
used: Little-endian, Big-endian or Mixed-endian.

Otherwise you get the wrong answer.

See: https://en.wikipedia.org/wiki/Universally_unique_identifier#Encoding

> On Jul 6, 2018, at 10:05 AM, Piotr Chabot Stadhouders via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Has this something to do with byte swapping or something? 

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: Any way to determine how a field's data storage is set?

2018-07-07 Thread Jeremy French via 4D_Tech
Hi John,

In the exported XML structure, I believe there are 2-attributes whose 
presence/absence indicate where the field’s data will be stored:
1) in the record.
2) in the data file but outside of the record.
3) in an external file outside of the data file.

The 2-XML attributes are:
1) text_switch_size
2) outside_blob

When present, the attribute "text_switch_size" indicates the data size above 
which the data will be stored outside of the record, either inside or outside 
of the data file. 

When present, “outside_blob" indicates the data will be stored outside of the 
data file.

I believe this storage location information applies only to the behavior of new 
records.

Also, it seems that if “text_switch_size” is zero, it's absent from the XML 
export. And if “outside_blob” is false, it too is absent from the XML export.

Does this help?

- Jeremy French

> On Jul 7, 2018, at 11:43 AM, JOHN BAUGHMAN via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Outside the data file/In data file/in record... 
> 
> ...would like to know specifically which option is selected in the structure.

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: problems with SEND RECORD

2018-07-03 Thread Jeremy French via 4D_Tech
Since you encountering more records than expected, do all records in the table 
“Approval” have False assigned assigned to the field “approved”?

Try this in your method:

ALL RECORDS([Approvals])
$count_all := Records in selection([Approvals])

QUERY([Approvals];[Approvals]approved=False)
$count_query := Records in selection([Approvals])

Are the two counts equal?


> On Jul 3, 2018, at 12:48 PM, Noah via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> … Stepping through the code I
> could see that where we were supposed to be looping over the records in the
> current selection, we were instead dealing with the whole selection.
> 
> QUERY([Approvals];[Approvals]approved=False)

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: v13 - Text entry area, Returns, and Filters

2018-06-29 Thread Jeremy French via 4D_Tech
Hi Chip,

I forgot to add there are 2-starting characters for the filter:

1) tilde forces uppercase; while
2) ampersand does not fore uppercase.

- Jeremy French

> On Jun 29, 2018, at 12:39 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Not working  :(
> I can not entry a return into the text area.

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: v13 - Text entry area, Returns, and Filters

2018-06-29 Thread Jeremy French via 4D_Tech
Hi Chip,

Try defining the filter using the following pattern:

1) first character is the tilde character; then
2) starting quote character (escaped); then
3) allowed characters in filter, separated with semicolons; then
4) ending double quote character (escaped).

The following example allows only:

1) uppercase A thru Z; and
2) space; and
3) carriage return.

Call on form load event:
---
C_TEXT($filter_t)
$filter_t:="~\"A-Z; ;"+Char(Carriage return)+"\""
OBJECT SET FILTER(*;"objNameOfTextBox";$filter_t)
—

Does this work for you?

- Jeremy French

> On Jun 29, 2018, at 12:39 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Not working  :(
> I can not entry a return into the text area.
> 
> I have this line of code in my form method:
> utl_text_Text_Entry_Filter (->[Department]Address)
> 
> 
>  //(m) utl_text_Text_Entry_Filter
>  //$1 - pointer - to text entry area
> 
> C_POINTER($1;$Text_Area)
> C_TEXT($Filter;$0)
> 
> $Text_Area:=$1
> $Filter:="&"+Quote_Char+Char(13)
> $Filter:=$Filter+Semi_Colon_Char+Text_Filter
> $Filter:=$Filter+Semi_Colon_Char+(2*BackSlash_Char)+Quote_Char
> $0:=$Filter
> OBJECT SET FILTER(($Text_Area->;$Filter)
> 
> Text_Filter = 
> a-z;A-Z;0-9;_;-;:;`;.;&;^;%;@;(;);[;{;];};<;>;,;/;#;|;~;=;+;*;$;?;!;';_;.;,
> 
> 
> - I can enter all of the characters listed in the text filter, except a 
> return
> - There is no button tied to return
> - I removed the original filter I had on the address field
> - I removed the code behind the address field
> - I cleared the key short cut (enter) for the accept button
> - There is no object accepting return as a shortcut
> - (debugging) after Object Set Filter, Object Get Filter returns a 
> filter which includes '\r'
> - I placed the return at the front of the filter
> - I placed the return at the end of the filter
> - I added Char(10), just in case.
> - The final filter looks correct in the debugger
>  4Final_Filter : = 
> &"\r;\n;a-z;A-Z;0-9;_;-;:;`;.;&;^;%;@;(;);[;{;];};<;>;,;/;#;|;~;=;+;*;$;?;!;';_;.;,;\\"
> 

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: select from _USER_COLUMNS

2018-06-11 Thread Jeremy French via 4D_Tech
OOPS - CORRECTION (“tab” should be “tag”)



Hi Chuck,

I believe you are encountering the SQL data type codes.

In the SQL implementation, there is "DATA_TYPE" and "OLD_DATA_TYPE".

For a chart, see tech note "System table column OLD_DATA_TYPE" at:
http://kb.4d.com/assetid=76350 

The SQL table "_USER_COLUMNS" reports both the SQL data type and the 4D data 
type.

The SQL data type appears in the column "DATA_TYPE".

The 4D data type appears in the column "OLD_DATA_TYPE".

And oddly, when you export the 4D structure (using the 4D command EXPORT 
STRUCTURE), the SQL data codes are used instead of the 4D data type codes for 
the “type” attribute in the “field” tag.

Hope this helps.

Jeremy French

> On Jun 11, 2018, at 4:33 PM, Chuck Miller via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Given the following code
> select 
> COLUMN_NAME, 
> DATA_TYPE, 
> DATA_LENGTH, 
> COLUMN_ID 
> from
> _USER_COLUMNS
> where
> TABLE_ID = :$TableNumber_L
> into
> :$Cname_atxt, :$DataType_aL, :$DataLength_aL,  :$ColumnID_aL;
> 
> What values can be returned in $DataType_aL It seems that they do not equal 
> 4D data types (I did not expect it to) Is there a chart I can not find that 
> lists them?

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: select from _USER_COLUMNS

2018-06-11 Thread Jeremy French via 4D_Tech
Hi Chuck,

I believe you are encountering the SQL data type codes.

In the SQL implementation, there is "DATA_TYPE" and "OLD_DATA_TYPE".

For a chart, see tech note "System table column OLD_DATA_TYPE" at:
http://kb.4d.com/assetid=76350

The SQL table "_USER_COLUMNS" reports both the SQL data type and the 4D data 
type.

The SQL data type appears in the column "DATA_TYPE".

The 4D data type appears in the column "OLD_DATA_TYPE".

And oddly, when you export the 4D structure (using the 4D command EXPORT 
STRUCTURE), the SQL data codes are used instead of the 4D data type codes for 
the “type” attribute in the “field” tab.

Hope this helps.

Jeremy French

> On Jun 11, 2018, at 4:33 PM, Chuck Miller via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Given the following code
> select 
> COLUMN_NAME, 
> DATA_TYPE, 
> DATA_LENGTH, 
> COLUMN_ID 
> from
> _USER_COLUMNS
> where
> TABLE_ID = :$TableNumber_L
> into
> :$Cname_atxt, :$DataType_aL, :$DataLength_aL,  :$ColumnID_aL;
> 
> What values can be returned in $DataType_aL It seems that they do not equal 
> 4D data types (I did not expect it to) Is there a chart I can not find that 
> lists them?

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: High Sierra - Export Text in 4D v13.6

2018-06-06 Thread Jeremy French via 4D_Tech
Have you looked at "Design -> Database Settings -> Database -> Temporary Folder 
Location”?

Is the "Temporary File Location" set to the “Resources” folder?


> On Jun 5, 2018, at 4:37 PM, setar accnt via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> there is a .temp file with a long filename 
> (“07B29AA87F90481387491D4EEF206BB6.temp”) ALSO created in that Resource 
> folder. 

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: v13+ setting the current (working) directory

2018-04-23 Thread Jeremy French via 4D_Tech
Try 4D’s “SET ENVIRONMENT VARIABLE”.

Look for  “_4D_OPTION_CURRENT_DIRECTORY”.

http://doc.4d.com/4Dv16R6/4D/16-R6/SET-ENVIRONMENT-VARIABLE.301-3547509.en.html

> On Apr 23, 2018, at 12:56 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> the 'default' directory (on a Mac) for LEP is root.
> 
> Can someone point out the command(s) needed to set/change the current 
> working (default) directory.

**
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:4d_tech-unsubscr...@lists.4d.com
**

How to Determine Field Type from XML Structure Export?

2018-04-19 Thread Jeremy French via 4D_Tech

When we export an XML structure, what does the "type" attribute indicate?

For example, here is a snippet, from an XML Structure Export, for 3-fields: 
date, time and boolean.

---





---

The above "type" attribute values do *NOT* correspond with the values returned 
the 4D command "Type".

For example:

1) Date field: attribute "type" is 8, but the type command returns 4.

2) Time field: attribute "type" is 9, but the type command returns 11.

3) Boolean attribute "type" is 1, but the type command returns 6.

See:
http://doc.4d.com/4Dv16R6/4D/16-R6/Type.301-3547444.en.html

==
Questions
==

1) What does the "type" attribute refer to?

2) How do we determine the field type from an XML Structure Export?

 
**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: 4d16 r6 documentation

2018-03-31 Thread Jeremy French via 4D_Tech
What is “HAS”?

See:
"which HAS is.” — 1st paragraph below
"I plan to upgrade HAS” — 2nd paragraph below


> On Mar 31, 2018, at 5:04 AM, John Baughman via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> R releases are the pre-releases of the next shipping version (v17). v16R6 is 
> the latest R version which can be used by developers as well as users under 
> maintenance contract, which HAS is. ... 
> 
> v17 is expected to be released within the next few months at which time v14 
> will be dropped as a supported version. I plan to upgrade HAS to R6 when I 
> get back from DC. ...

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: Multi-Table Query Into JSON?

2018-03-22 Thread Jeremy French via 4D_Tech
What is “template mode” for OB Copy?

> On Mar 22, 2018, at 9:14 PM, Keisuke Miyako via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> if you are interested in getting an object array, you should not go through 
> json, you should procedurally use OB commands (OB copy in template mode). you 
> can combine it with apply to selection and the execute on server method 
> property.
> 

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: Write Pro setting print options

2018-03-22 Thread Jeremy French via 4D_Tech
Hi Pat,

Have you tried calling the command WP USE PAGE SETUP *after* INVOKE ACTION?

That is, the following call sequence works:

INVOKE ACTION
WP USE PAGE SETUP
WP PRINT

Also remember that the 4D Write Pro area must have the focus when INVOKE ACTION 
is called.

Best regards,
Jeremy

> On Mar 22, 2018, at 8:25 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> *INVOKE ACTION*("pageOrientation?value=landscape")
> 
> *INVOKE ACTION*("pageMode?value=page";ak current form)
> 
> and they don't have any effect.
> 

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: Import from Excel

2018-03-08 Thread Jeremy French via 4D_Tech
Hi Tim,

Just tried the Tech Note using v16 without success.

Apparently PHPExcel is deprecated. It’s successor is PHPSpreadsheet at:

https://github.com/PHPOffice 

Could you possibly do a new edition of your Tech Note using PHPSpreadsheet and 
v16?

Best regards,
Jeremy


> On Mar 7, 2018, at 12:15 PM, Timothy Penner via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> I am not sure if it still works, but there is this tech note available:
> 
> Tech Note: PHPExcel Library with 4D v12
> Published On: April 15, 2011
> http://kb.4d.com/assetid=76312

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: Break points stopped working

2018-02-26 Thread Jeremy French via 4D_Tech
In the Design Environment, try looking at Run -> Runtime Explorer -> Breaks. 
You may see the disabled break points, which you can click to reactivate.

> On Feb 26, 2018, at 2:41 PM, John Baughman via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I must have accidentally disabled break points. None of my break points work 
> anymore. TRACE works.
> 
> How do I turn them back on again?

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: Temporarily changing the system date format

2018-02-23 Thread Jeremy French via 4D_Tech
What is the field type in which the dates are stored? Date or alpha?


> On Feb 23, 2018, at 6:51 PM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Using v16 ...
> 
> I am in the UK I'm working on a publishing project for a customer in the
> US. Part of the project requires certain data to be sorted by date. So I
> need them to be sorted in the US date format (mm/dd/) instead of the UK
> format (dd/mm/).
> 
> Is there a way to temporarily override the system date format?
> 
> Otherwise I can create 3 separate fields for day, month, year, and sort on
> those, but if there is a simpler way to do it ...

**
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:4d_tech-unsubscr...@lists.4d.com
**

Re: Document capture - part 2

2018-02-11 Thread Jeremy French via 4D_Tech
Hi Ken,

You can rename a file using the 4D’s built-in command MOVE DOCUMENT.

This command lets you move and/or rename a file.

http://doc.4d.com/4Dv16R5/4D/16-R5/MOVE-DOCUMENT.301-3480974.en.html 


- Jeremy French


> On Feb 11, 2018, at 7:53 PM, Kenneth Geiger via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> suggestions as to what Windows command I can launch from within 4D to rename 
> a file?

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

Re: HTTP Body Size

2018-02-08 Thread Jeremy French via 4D_Tech
Hi Doug,

When you use "HTTP Request" command with the "HTTP Post method" constant, I 
believe you also need to submit request headers.

In particular, headers such as:
Content-Length
Content-Type

Regards, Jeremy


> $vl_Status:=HTTP Request(HTTP Post Method;”MYURL”;$vx_Request;$vx_Response)  
> //Also tried adding various headers

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

Re: HTTP Body Size

2018-02-07 Thread Jeremy French via 4D_Tech
Hi Doug,

Instead of a text variable, you can also use a blob variable to avoid the size 
limitation.

http://doc.4d.com/4Dv16R5/4D/16-R5/WEB-GET-HTTP-BODY.301-3481155.en.html

Best regards,
Jeremy French

> On Feb 7, 2018, at 4:25 AM, Douglas Cryer via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> under WEB GET HTTP BODY it specifies that the body parameter can receive up 
> to 2GB of text.

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

How to programmatically set enterable object to transparent?

2017-11-06 Thread Jeremy French via 4D_Tech
In the Property Inspector we can set the background of an object to transparent 
by checking the “Transparent” attribute.

https://s1.postimg.org/6l50ah787j/transparent_attribute.png

How do we programmatically set the object’s background to transparent?



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

Re: Object Array in ViewPro

2017-11-04 Thread Jeremy French via 4D_Tech
Hi Steve,

It would be helpful if you could provide a link to the documentation page 
containing the example you are referring to.

Also, what feature are you talking about?

Best regards,
Jeremy French

> On Nov 4, 2017, at 3:56 PM, Stephen Shaw via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Can anyone give me tips as to how to get an object array to display in the 
> new VIewPro. Despite looking at this for some time I am struggling and cannot 
> get the manual example to work.  Using 16r4 (latest build) and tried in 16r5 
> beta. I can’t see a demo for this feature and wonder if I am being premature 
> or Is this a known problem?
> 
> Many thanks
> 
> Steve Shaw
> UK
> 
> 
> **
> 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
> **

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

Re: Export import all after a crash

2017-10-23 Thread Jeremy French via 4D_Tech
Hi Arnaud,

You can pause indexes during the SQL import with:

Begin SQL
ALTER DATABASE DISABLE INDEXES;
ALTER DATABASE DISABLE CONSTRAINTS;
End SQL

and then after the import completes, restore indexes with:

Begin SQL
ALTER DATABASE ENABLE INDEXES;
ALTER DATABASE ENABLE CONSTRAINTS;
End SQL

Details at:
http://doc.4d.com/4Dv16R4/4D/16-R4/ALTER-DATABASE.300-3451136.en.html

- Jeremy French

> On Oct 23, 2017, at 6:45 AM, Arnaud de Montard via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> PAUSE INDEXES does not exist too, I suppose it may result in a faster import. 

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

Re: FORM SET OUTPUT -> project form

2017-10-16 Thread Jeremy French via 4D_Tech
Hi Pat,

Use the DIALOG command for a project form, as Tai points out.

But the form name "ReportHeaderLandscape" suggests you want to print a header. 

Perhaps the command you are looking for is "Print form”? 

"Print form" requires a table. You can change the project form to a table form 
by — in the Explorer's "Forms” view — by dragging .

I hope this will be helpful.

Best regards,
Jeremy French


> On Oct 16, 2017, at 6:39 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I get an error with
> 
> *FORM SET OUTPUT*("ReportHeaderLandscape")
> 
> ​"There is no table to apply the command to"
> 
> So how do you set the output form for a project form?

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

Re: What happened to 4D documentation in R releases?

2017-10-06 Thread Jeremy French via 4D_Tech
Hi Richard,

There is a link titled “What’s New”.

This link appears **only** when you view the Language Reference “Table of 
Contents”.That’s the page that appears after choosing Language Reference for a 
specific version of 4D.

Snapshot of Language Reference’s “Table of Contents"
https://s1.postimg.org/6fjw2aafgf/p01_table_of_contents.png 


Snapshot of “What’s New” link near end of “Table of Contents” page
https://s1.postimg.org/33dxm2yfxr/p02_what_s_new.png 



As soon as you go to **any other page** in the Language Reference, the “What’s 
New” link **disappears**. The link is also absent from the Language Reference’s 
side bar listing themes/commands.


Hope this helps.

Jeremy French


> On Oct 6, 2017, at 11:40 AM, Richard Wright via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Is there a way to search the doc center for new features in a particular 
> version?

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

Re: Number format

2017-10-03 Thread Jeremy French via 4D_Tech
The pattern to control the display of a zero value has 3-parts, separated by a 
semicolon. Note the 2-semicolons:

positive_format;negative_format;zero_format

To display nothing for a zero value, put nothing after the second semi-colon.

So this display filter will show positive and negative numbers, but display 
nothing for a zero value when the object doesn’t have focus:

###,##0;-###,##0;



> On Oct 3, 2017, at 5:59 PM, stardata.info via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> In one listbox, i need to display a number format so if the value is zero not 
> display anything.
> I try to insert the format ###.##0,##0 but not work properly.

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

Re: Getting a list of menu bars, menu's and menu items

2017-09-26 Thread Jeremy French via 4D_Tech
Hi Randy,

I gather you are adding one or more dynamic menus to the menu bar created in 
the Menu Editor. In that case, you need to work with references, not a 
positional integer.

The positional index works only for menus created in the Menu Editor.

Try this, which assumes no hierarchical menus:

--
$mb_ref_t:=Get menu bar reference

ARRAY TEXT($mb_menu_title_at;0)
ARRAY TEXT($mb_menu_ref_at;0)

GET MENU ITEMS($mb_ref_t;$mb_menu_title_at;$mb_menu_ref_at)

For ($menu_i;1;Size of array($mb_menu_title_at))

$menu_title_t:=$mb_menu_title_at{$menu_i}
$menu_ref_t:=$mb_menu_ref_at{$menu_i}

ARRAY TEXT($menu_item_text_at;0)
ARRAY TEXT($menu_ref_at;0)

GET MENU ITEMS($menu_ref_t;$menu_item_text_at;$menu_ref_at)

For ($menu_item_i;1;Size of array($menu_item_text_at))

$menu_item_ref_t:=$menu_item_text_at{$menu_item_i}

// get specifics using positional $menu_item_i OR reference 
$menu_item_ref_t

End for
End for

- Jeremy French


> On Sep 26, 2017, at 11:52 AM, Two Way Communications via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Although you can get a list of menus in the menu bar (GET MENU ITEMS), this 
> doesn’t work when you pass the menu ref for one of the menus. 

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

Re: Getting a list of menu bars, menu's and menu items

2017-09-26 Thread Jeremy French via 4D_Tech
Hi Rudy,

Take a look at the commands in the “Menus” theme:

http://doc.4d.com/4Dv16R3/4D/16-R3/Menus.201-3217435.en.html

Then in the Application Environment, activate the menu bar you are interested 
in and loop through the menus and menu items like this:

For ($menu_i;1;Count menus)

$menu_title_t:=Get menu title($menu_i)

For ($menu_item_i;1;Count menu items($menu_i))

// Here use menu commands to retrieve menu item information.

end for

End for

- Jeremy French


> On Sep 26, 2017, at 8:51 AM, Two Way Communications via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> way to programatically produce a list of all the menu’s (defined in the 
> design environment) and their menu items.

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

Re: Is it possible to put a SVG file directly on a form?

2017-09-25 Thread Jeremy French via 4D_Tech
Kirk, 

Have you tried:

1) Place SVG file in database’s “Resources” folder.
2) Restart 4D.
3) Locate SVG file in "Design -> Tool Box -> Resources".
4) Drag SVG from the Tool Box’s "Resources” window to the form.
5) Resize SVG as needed.

Note the Property Inspector’s “Name/ID” attribute records the path to SVG file.

- Jeremy French


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

Re: Listbox column width and pointers

2017-09-15 Thread Jeremy French via 4D_Tech
It's better to use an object name in place of a pointer. That's because a 
pointer could reference more than one object on the form. Object names are 
unique and so reference only a single object.

Here are a couple of things you might try.

Try #1
=

For calculating the column widths, replace pointers with object names:

So this calculation with pointers:

OBJECT GET BEST SIZE($Column_pa{$i}->;$Width_best1_l;$Height_best_l)
OBJECT GET BEST SIZE($Header_pa{$i}->;$Width_best2_l;$Height_best_l)

become a calculation with object names:

OBJECT GET BEST SIZE(*;$Column_ta{$i}->;$Width_best1_l;$Height_best_l)
OBJECT GET BEST SIZE(*;$Header_ta{$i}->;$Width_best2_l;$Height_best_l)

Try #2
=

Also, these 4-lines:

LISTBOX SET COLUMN WIDTH($Column_pa{$i}->;$Width_best_l)
LISTBOX SET COLUMN WIDTH($Header_pa{$i}->;$Width_best_l)
LISTBOX SET COLUMN WIDTH(*;$Header_ta{$i};$Width_best_l)
LISTBOX SET COLUMN WIDTH(*;$Column_ta{$i};$Width_best_l)

can become a single line:

LISTBOX SET COLUMN WIDTH(*;$Column_ta{$i};$Width_best_l)

Try #3
=

Set the listbox column widths **after** you make SLQ SELECT calls.

See "Displaying the result of an SQL query in a list box” at:
http://doc.4d.com/4Dv16R3/4D/16-R3/Managing-List-Box-Objects.300-3218275.en.html#429187
 


Note the line which reads, "Each new execution of a SELECT query with the list 
box leads to the resetting of the columns…"


> On Sep 15, 2017, at 6:37 PM, bernard--- via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi all,
> 
> I have a form with two listboxes.
> I wrote some code to manage automatic column width (OBJECT GET BEST SIZE, 
> LISTBOX SET COLUMN WIDTH).
> 
> I build listbox1 with records from Table1 (fill by SQL) ; code for automatic 
> width is executed for LB1.
> When I click on a row of LB1, I fill listbox2 with records from TableN 
> (always by SQL) ; code for automatic width is executed for LB2.
> 
> Why LB1 is redrawn with default width* ?
> 
> * I don't understand column width given by 4D : neither leader with, neither 
> data width...
> 
> I did a new test with automatic width for the two LB : same issue.
> 
> Here is the code (simplified) :
> LISTBOX GET 
> ARRAYS(Listbox1;$Column_ta;$Header_ta;$Column_pa;$Header_pa;$Col_visible_ba;$Style_pa)
> 
> For($i;1;Size of array($Column_pa))
> OBJECT GET BEST SIZE($Column_pa{$i}->;$Width_best1_l;$Height_best_l)
> OBJECT GET BEST SIZE($Header_pa{$i}->;$Width_best2_l;$Height_best_l)
> $Width_best_l:=MTH_Maximum($Width_best1_l;$Width_best2_l)+10
> LISTBOX SET COLUMN WIDTH($Column_pa{$i}->;$Width_best_l)
> LISTBOX SET COLUMN WIDTH($Header_pa{$i}->;$Width_best_l)
> LISTBOX SET COLUMN WIDTH(*;$Header_ta{$i};$Width_best_l)
> LISTBOX SET COLUMN WIDTH(*;$Column_ta{$i};$Width_best_l)
> End for
> 
> LISTBOX GET 
> ARRAYS(Listbox2;$Column_ta;$Header_ta;$Column_pa;$Header_pa;$Col_visible_ba;$Style_pa)
> 
> For($i;1;Size of array($Column_pa))
> OBJECT GET BEST SIZE($Column_pa{$i}->;$Width_best1_l;$Height_best_l)
> OBJECT GET BEST SIZE($Header_pa{$i}->;$Width_best2_l;$Height_best_l)
> $Width_best_l:=MTH_Maximum($Width_best1_l;$Width_best2_l)+10
> LISTBOX SET COLUMN WIDTH($Column_pa{$i}->;$Width_best_l)
> LISTBOX SET COLUMN WIDTH($Header_pa{$i}->;$Width_best_l)
> LISTBOX SET COLUMN WIDTH(*;$Header_ta{$i};$Width_best_l)
> LISTBOX SET COLUMN WIDTH(*;$Column_ta{$i};$Width_best_l)
> End for
> 
> I tried also : 
> 
> $Listbox_t:="Listbox1"
> LISTBOX GET 
> ARRAYS(*;"$Listbox_t";$Column_ta;$Header_ta;$Column_pa;$Header_pa;$Col_visible_ba;$Style_pa)
> 
> Same behavior.
> 
> I see that the second LB takes column width from first LB
> A track : pointer is form.3C.4357.
> I suppose 3C is object ID ; pointers on objects of LB1 and LB2 have same ID...
> **
> 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
> **

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

Re: 4D and Fusion Charts

2017-09-12 Thread Jeremy French via 4D_Tech
Have you looked at these items in the Web Area documentation?

1) Configuring the Web area
2) Using the $4d object

See Accessing 4D Methods at
http://doc.4d.com/4Dv16/4D/16.2/Programmed-management-of-Web-Areas.300-3434143.en.html#3190797



> On Sep 12, 2017, at 2:53 PM, John S. Poteat via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> What I would like to have happen now is if I click on an element in the Chart 
> (Ex: Bar or Pie Piece)
> to make a call back to 4D and have my selection of records change to show the 
> records that 
> correspond to the Chart element that was clicked on.

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

Re: OB Copy, New Object, or $1

2017-09-03 Thread Jeremy French via 4D_Tech
Hi John,

Have you looked at “$myCoolObject" in the Debugger? Does a property named 
"action" exist?

I just tried passing an object argument. The assignment in your line below 
works, provided the object passed actually exists (i.e., is at a minimum an 
empty object "{}"):

--
C_Object($myCoolObject;$1)
$myCoolObject:=$1
--

But your line below will fail when the property name “action" does **NOT** 
exist:

--
If($myCoolObject.action=“Startup”)  // this will generate a syntax error.
End If
--

When trying to retrieve a property, "OB SET" and "OB Get” work, whether or not 
the property name exists. 

But object dot notation appears to require that the property name **already 
exists** before getting or setting its value.

- Jeremy French


> On Sep 2, 2017, at 5:43 PM, John Baughman via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
>   C_Object($myCoolObject;$1)
>   $myCoolObject:=$1
>   If($myCoolObject.action=“Startup”)  // this will generate a syntax 
> error.
>   End If

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

Re: 4D Write Pro interface plug in or component?

2017-07-11 Thread Jeremy French via 4D_Tech
Also https://www.youtube.com/watch?v=Q_fFafP-hgs=em-subs_digest


> On Jul 11, 2017, at 6:41 AM, Ingo Wolf via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> have a look at  >

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

Re: How to close a modal window if user clicks outside of it?

2017-06-29 Thread Jeremy French via 4D_Tech
Hi Kirk,

Have you looked at the “Pop up form window” window type?

The window immediately closes if the user clicks outside of the window.

http://doc.4d.com/4Dv16/4D/16.1/Open-form-window.301-3375260.en.html


> On Jun 29, 2017, at 2:02 PM, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I open a modal dialog within another form. I want to close this if the user
> moused to or clicks on something outside the form.

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

Re: Max Password Length

2017-06-27 Thread Jeremy French via 4D_Tech
15 alphanumeric characters.

See item #5 of “ Adding and modifying users” at:
http://doc.4d.com/4Dv16/4D/16.1/Managing-users-and-groups.300-3373309.en.html


> On Jun 27, 2017, at 3:05 PM, Jim Medlen via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> What is the maximum Length of a 4D Password ?

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

Re: Saving open windows in Design environment feature

2017-06-25 Thread Jeremy French via 4D_Tech
Hi Jim,

Not sure what you mean by “open up the forms themselves”.

But if you mean, “how do I access objects on a form name obtained through 
Design Object Access commands?”, then look at the FORM LOAD and FORM UNLOAD 
commands.

In a component, for example, you can introspect all objects on a form with this 
scheme:

——— 

// Get the names of forms to inspect with this command:

FORM GET NAMES

// Get access to objects on specific form name:

FORM LOAD 

// Then get the form’s objects to introspect:

FORM GET OBJECTS 

// Now use commands from the “OBJECTS (Forms)” theme to do introspection.

// Release the form:

FORM UNLOAD

——— 

Also see:

http://doc.4d.com/4Dv16/4D/16.1/FORM-GET-NAMES.301-3376021.en.html
http://doc.4d.com/4Dv16/4D/16.1/FORM-LOAD.301-3374685.en.html
http://doc.4d.com/4Dv16/4D/16.1/FORM-GET-OBJECTS.301-3374675.en.html
http://doc.4d.com/4Dv16/4D/16.1/Objects-Forms.201-3374555.en.html
http://doc.4d.com/4Dv16/4D/16.1/FORM-UNLOAD.301-3374679.en.html

- Jeremy



> On Jun 24, 2017, at 11:36 AM, Jim Labos - infobase via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> I am looking into Design Object Access to do what I need but I although there
> is a way to get the Form names there seems to be no way that I found to open
> up the forms themselves.

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

Explorer's "Object List" (How to get consistent wider width?)

2017-06-11 Thread Jeremy French via 4D_Tech
How do we get the Explorer window’s "object list" to consistently retain a 
wider width?

In other words, when I widen the “object list”, how do I get 4D to always use 
that wider width?

When ever I open the Explorer, its “object list” width has reverted to a 
narrower, default size.

http://doc.4d.com/4Dv16/picture/104203/pict104203.en.png

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

Re: v13+ What table does a set belong to?

2017-06-02 Thread Jeremy French via 4D_Tech
Hi Chip,

You could try performing a set operation on a known table set with the unknown 
set. 

If the two sets are from **different** tables, the set operation triggers an 
error. If both sets belong to the **same** table, no error occurs.

So iterate over each table performing the set operation until you encounter no 
error.

Something like this, which I tested before posting. It seems to work.:

C_LONGINT(error_i)
C_TEXT($known_empty_set)
C_TEXT($unknown_set_t)
C_BOOLEAN($done)
C_BOOLEAN($found)

$unknown_set_t:="unknown_set"
CREATE EMPTY SET([Storage];$unknown_set_t)

$known_empty_set:=Generate UUID
$table_i:=0
Repeat 

$table_i:=$table_i+1

CREATE EMPTY SET(Table($table_i)->;$known_empty_set)

ON ERR CALL("TRAP_ERROR")
error_i:=0
DIFFERENCE($unknown_set_t;$known_empty_set;$known_empty_set)
ON ERR CALL("")

If (error_i=0)
$found:=True
End if 
error_i:=0

If ($table_i=Get last table number)
$done:=True
End if 

CLEAR SET($known_empty_set)

Until ($done | $found)

If ($found)
ALERT("Set belongs to "+Table name($table_i)+".")
Else 
ALERT("Cannot determine table owning set.")
end if

- Jeremy French


> On Jun 2, 2017, at 5:22 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Is there *any* way to determine what table a random set belongs to?

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

Compatibility Mode v12 (How to change to Unicode?)

2017-05-22 Thread Jeremy French via 4D_Tech
I am examining a Windows 7 4D v12.5 database.

The Compatibility tab in Database Settings indicates that the database is in 
"Compatibility mode".

See https://s10.postimg.org/7cx58znuh/compatibility_unicode_mode.png

Knowledge Base article #50076 "Unicode Mode vs. Compatibility Mode" says:

"The behavior of 4D in 'Compatibility mode' is the same as in previous versions 
of 4D. That is, all text data is treated as if 4D is still using the MacRoman 
ASCII character set."

So it appears that the character set being used in "Compatibility Mode" is 
MacRoman ASCII.

===
QUESTIONS
===

1) What happens to the existing text data in records (and indexes) if I 
check-mark "Unicode" in the Compatibility tab?

2) Will all text data in records (and also indexes) be automatically converted 
to Unicode?

3) How do I convert the existing text data in records (and indexes) to Unicode?
**
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
**

Re: v13 - Accessing user groups in component

2017-05-17 Thread Jeremy French via 4D_Tech

According to the documentation, you are seeing the host’s users and groups from 
within the component.

From the documentation: "the 'Users and Groups' theme can be used from a 
component but will read the users and groups of the host database (a component 
does not have its own users and groups).”

See "Scope of language commands “ at bottom of page at:
http://doc.4d.com/4Dv16/4D/16.1/Interaction-between-components-and-host-databases.300-3373444.en.html
 



> On May 17, 2017, at 4:11 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> in a component, what am I seeing? the component's user groups or the 
> host database?

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

Re: Disable close button on Splash screen windows v12

2017-05-16 Thread Jeremy French via 4D_Tech
Hi John,

Have you looked at "Setting a Default User" in the Design Reference?

If you want to allow:
1) Users to never see the 4D Password Dialog; and
2) Users to only see your password system; and
3) 4D password system to keep users out of design environment

then take a look at "Setting a Default User" at:

http://doc.4d.com/4Dv16/4D/16.1/Setting-a-Default-User.300-3373311.en.html

To setup a default user and limit access to the Design Environment, you would:
1) create a group for design access (for example, "design_access".)
2) Create a default user with **NO** password or group assigned (for example, 
"default_user".)
3) Assign the users "designer" and "administrator" to the "design_access" group.

In Database Settings -> Security, do the following:
1) Specify the group for design access from popup of group names.
2) Specify the default user name from popup of user names.
3) Uncheck "users can change password".

When usersr enters the database, they automatically enter as the default user. 
No 4D Password Dialog appears. 

You then present your custom password login dialog.

Beware in this scheme you will not be able to get into the Design Environment 
again, unless the 4D Password System dialog appears to allow you to enter as 
designer.

When opening a database, you can force the 4D Password Dialog to appear by 
holding down the shift key.

Best regards,
Jeremy French


> On May 16, 2017, at 4:28 PM, truegold via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> So if I want to protect the db from a user getting into “design mode” - given 
> we have rolled our own password security - can I simply do the following:
> 
> Add a 4D Group in the password editor. Is there not a checkbox to disallow a 
> user into design? So if I set things up this way and then…
> 
> After the user logins to our custom PW login system immediately identify them 
> as a member of this group will that work? Will that keep them from getting 
> access?

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

Re: PROCESS 4D TAGS

2017-04-28 Thread Jeremy French via 4D_Tech
How do you know PROCESS 4D TAGS is failing?

Have you confirmed that the process variable "tTemplate" actually contains your 
template?

In other words,  does “Document to text” successfully retrieve the template? 
When the command “Document to text”  encounters an error, the command fails 
silently and returns an empty string.

Best regards,
Jeremy French


> On Apr 28, 2017, at 9:44 AM, Mitchell Shiller via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> v14 OSX
> 
> HTML Template:
> 
> 
> 
>   
> 
> 
> 
>   
> 
> 
> 
> Method:
> 
> C_TEXT(tHTML;tTemplate;$tPathname;tData)
> $tPathname:=Get 4D folder(Current resources folder)+"Templates"+":"+"Test 
> Template.html"
> tTemplate:=Document to text($tPathname)
> tData:="Hello There"
> PROCESS 4D TAGS(tTemplate;tHTML)
> 
> Result:
> 
> The Template is loaded but tData is not replaced with “Hello There”. i.e. 
> tHTML is the same as 
> 
> 
> What am I missing?
> 
> Thanks
> 
> Mitch

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

Re: 4D Write Pro CSS

2017-04-26 Thread Jeremy French via 4D_Tech
Hi Pat,

Programmatically, my workaround for style sheets is to use the new capabilities 
to:

• define bookmarks.
• define templates.
• build ranges.
• create temporary WritePro areas from a single bookmark.
• insert temporary WritePro areas into the final WritePro document.

In this scheme, the bookmarks become sophisticated style sheets that can do a 
lot more than a “real” style sheet.

There is a HDI (“How do I”) demo at blogs.4d.com  that 
includes a video and 2-sample databases:

4D Write Pro: Document Creation by Programming
http://blog.4d.com/4d-write-pro-document-creation-by-programming/ 


Especially important are these WritePro commands:

WP Get bookmark range
WP GET BOOKMARKS
WP INSERT DOCUMENT
WP New
WP SELECT

When you look at the documentation, be sure you are looking pages in the 
supplemental "4D Write Pro Reference”. (The “Language Reference” has a “4D 
Write Pro" theme, which seems incomplete and sparse. The supplemental "4D Write 
Pro Reference” has more complete documentation.)

http://livedoc.4d.com/4D-Write-Pro-Reference-16-R2.1620/4D-Write-Pro-Reference.100-3124227.en.html
 



Best regards,
Jeremy French

> On Apr 26, 2017, at 6:54 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I want to create Write Pro documents entirely through programming,
> but there seem to be some vital options missing. For example:
> 
> How to create a new Stylesheet?

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

Re: How to collapse/expand all panes in Property List (v16)

2017-03-26 Thread Jeremy French via 4D_Tech
In v16, control-click works for me to expand/collapse all Property List themes.

What happens if you quit and restart 4D?

> On Mar 26, 2017, at 9:02 PM, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> In v16 it seems I the ability to collapse all panes in the Property List
> (when editing a form) is removed. Since at least v13 you could control
> click on a pane arrow to collapse/expand all. Now that doesn't work - at
> least on a Mac.

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

Re: CALL FORM: Some notes on a command that's easy to misunderstand

2017-03-17 Thread Jeremy French via 4D_Tech
Hi David,

Yes, you need to log in.

Notes are only available at livedoc.4d.com . (There is 
NO note feature at doc.4d.com .) 

The login link is at the top right of the web page.

https://s8.postimg.org/oylrfbtsl/p01_comment_log_in.png

Scroll down to the “Previous Page” and “Next Page” buttons, and click “Add 
Comment”.

https://s15.postimg.org/e0nqetxt7/p2_add_comment_button.png 


A “window” opens in which to write the comment.

https://s21.postimg.org/k4j2wzss7/p03_add_a_comment.png


Jeremy French


> On Mar 16, 2017, at 10:28 PM, David Adams via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I was going to add some comments to the docs, but I just looked and don't see 
> how you do it.
> Presumably there's something you need to log into first (?) Instructions 
> appreciated.

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

  1   2   >