4D Server crashing with MyConnect

2018-04-30 Thread Paul Lovejoy via 4D_Tech
Hi,

We have been using MyConnect in 2 fairly large databases to extract data from a 
MySQL server every night of the last 9 or 10 years. For the last few weeks 
we’ve been struggling to track down 4D Server crashes which appear to be 
occurring due to MyConnect or something in our code related to the MySQL 
extraction. What’s strange is the code was working for years.

We are running v15.5 on OS X and we’ve upgraded to the latest version 3.01 of 
MyConnect. 

I’ve done some logging to try to locate exactly where the error occurs in our 
code. It doesn’t not always happen in the same place, with the same table or 
records. This leads me to believe something is causing a memory leak or causing 
4D to access an invalid memory address. 

Any ideas would be welcome.


Cheers,


Paul


**
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: 4D Server crashing with MyConnect

2018-04-30 Thread Two Way Communications via 4D_Tech
Hi Paul,

I run the plugin also with v15.5, but on Windows.

Except, I run a 4D client on the same machine as the server, that is running 
all the code. Would that be a solution for you?

Regards,

Rudy Mortier
Two Way Communications bvba 



> On 30 Apr 2018, at 09:06, Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi,
> 
> We have been using MyConnect in 2 fairly large databases to extract data from 
> a MySQL server every night of the last 9 or 10 years. For the last few weeks 
> we’ve been struggling to track down 4D Server crashes which appear to be 
> occurring due to MyConnect or something in our code related to the MySQL 
> extraction. What’s strange is the code was working for years.
> 
> We are running v15.5 on OS X and we’ve upgraded to the latest version 3.01 of 
> MyConnect. 
> 
> I’ve done some logging to try to locate exactly where the error occurs in our 
> code. It doesn’t not always happen in the same place, with the same table or 
> records. This leads me to believe something is causing a memory leak or 
> causing 4D to access an invalid memory address. 
> 
> Any ideas would be welcome.
> 
> 
> Cheers,
> 
> 
> Paul
> 
> 
> **
> 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
> **

**
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: Testing for Null is superior to OB is defined

2018-04-30 Thread Two Way Communications via 4D_Tech
Thanks Kirk, that really puts things in perspective!

Regards,

Rudy Mortier
Two Way Communications bvba 



> On 29 Apr 2018, at 19:56, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> This is one of those cases where a long time 4D programmer (me) noticed my
> long time approach to coding needed a refresh to take advantage of new
> tools. New tools require new techniques.
> 
> From the start 4D has managed variables so they are never “empty”. When a
> new variable was created or declared it was always initialized to the
> equivalent of zero for its data type. I think this was part of the effort,
> back in the early days of consumer database apps, to make “scripting”, as
> it was called then, easy for non programmers. You never had to worry about
> a variable having no value. It always had a value of zero at least and you
> could use it right away.
> 
> Most other languages have Null. Null indicates something has no value. In
> the case of numbers zero is a perfectly good value and different from not
> having any value.
> 
> 4D objects support Null.
> 4D developers for the most part do not.
> 
> Because we’ve never had to. You still don’t have to. There are work around
> methods such as OB is defined. There’s nothing really wrong with using it
> except it forestalls getting familiar with using Null and is more limited
> in some cases. Consider this block of code:
> 
> C_OBJECT($obj)
> $ok:=($obj=Null)  //   $ok = true
> $ok:=Not(OB Is defined($obj))  //  $ok = true
> $ok:=OB Is empty($obj)  // $ok = true
> 
> $obj:=New object
> $ok:=($obj=Null)  //   $ok = false
> $ok:=Not(OB Is defined($obj))  //  $ok = false
> $ok:=OB Is empty($obj)  // $ok = true
> 
> $obj.a:=123  //  any key:value
> $ok:=($obj=Null)  //   $ok = false
> $ok:=Not(OB Is defined($obj))  //  $ok = false
> $ok:=OB Is empty($obj)  // $ok = false
> 
> OB is empty is the most restrictive test because empty can be Null or empty
> can be undefined but Not(OB is empty) can only mean something is there.
> Testing $obj=Null is equivalent to the longer command test in every
> instance. I find it easier to type and easier to comprehend reading the
> code.
> 
> Here are the equivalent statements for clearing $obj:
> 
> CLEAR VARIABLE($obj)
> $obj:=Null
> 
> The results are the same. A ‘cleared’ object variable is a Null object
> variable.
> 
> There is one more really compelling use case where testing for Null is
> superior:
> 
> C_OBJECT($obj)
> $ok:=($obj.a.b.c[2]=Null)  // $ok = true
> $ok:=Not(OB Is defined($obj.a.b.c[2]))  // error
> 
> 
> This works compiled as well as interpreted and fill a big void (as it were)
> in being able to test for valid objects. Testing an object path against
> Null tells you if the path is valid or not. It does not tell you anything
> about what part of the path fails, however.
> 
> HTH
> -- 
> Kirk Brooks
> San Francisco, CA
> ===
> 
> *We go vote - they go home*
> **
> 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
> **

**
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: 4D Server crashing with MyConnect

2018-04-30 Thread Paul Lovejoy via 4D_Tech
Hi Rudy,

That was one of the things we are thinking about trying. We were hoping to 
avoid the hassle.

Thanks,


Paul


> Le 30 avr. 2018 à 11:30, Two Way Communications via 4D_Tech 
> <4d_tech@lists.4d.com> a écrit :
> 
> Hi Paul,
> 
> I run the plugin also with v15.5, but on Windows.
> 
> Except, I run a 4D client on the same machine as the server, that is running 
> all the code. Would that be a solution for you?
> 
> Regards,
> 
> Rudy Mortier
> Two Way Communications bvba 
> 
> 
> 
>> On 30 Apr 2018, at 09:06, Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> Hi,
>> 
>> We have been using MyConnect in 2 fairly large databases to extract data 
>> from a MySQL server every night of the last 9 or 10 years. For the last few 
>> weeks we’ve been struggling to track down 4D Server crashes which appear to 
>> be occurring due to MyConnect or something in our code related to the MySQL 
>> extraction. What’s strange is the code was working for years.
>> 
>> We are running v15.5 on OS X and we’ve upgraded to the latest version 3.01 
>> of MyConnect. 
>> 
>> I’ve done some logging to try to locate exactly where the error occurs in 
>> our code. It doesn’t not always happen in the same place, with the same 
>> table or records. This leads me to believe something is causing a memory 
>> leak or causing 4D to access an invalid memory address. 
>> 
>> Any ideas would be welcome.
>> 
>> 
>> Cheers,
>> 
>> 
>> Paul
>> 
>> 
>> **
>> 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
>> **
> 
> **
> 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
> **

**
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: Macro to check that local variables are declared in a method? [Solved]

2018-04-30 Thread Bob Miller via 4D_Tech
RE> What I?m not sure how to do (well, I?m unwilling to spend the time, 
because WTH) is capture spaces within a variable name.

If anyone puts spaces in a variable name, well, they deserve what they 
get.

I also realized that constructions such as ARRAY 
TEXT($aMyTextArray;$ArraySize) contain both a declaration and a use of a 
variable, and also John DeSoi replied with a good idea to "smash" all 
strings enclosed in double quotes into just the double quotes, so that any 
$ contained within are not considered, so here is Version 2 of the method, 
that takes care of both, and also incorporates the new underscore-version 
of the regex:

*** Version 2 ***


//Bob Miller 04/30/18 CheckLocalDeclarations - called by macro to check 
that all local variables are declared.
//Method name is passed by the macro as $1
//This method calls itself in a new process if only one parm is sent (eg. 
when it is called by the macro).

C_TEXT($1;$2;$MethodName;$AllCodeButDeclarations;$LineDeclarationBlock;$ArrayDeclarationBlock;$NewProcessFlag)
C_TEXT($MethodCode;$CR)
C_TEXT($RegEx;$CodeLine)
C_LONGINT($N;$NumLines;$ProcNo;$L;$NumDeclarations;$WhereCommentBegins;$WhereSemi;$WhereDollar)
C_POINTER($DummyPtr)
$CR:=Char(Carriage return)//I know I should use a constant, yes...still 
haven't got around to this.

Case of 
: (Count parameters=1)//if called with only a single parm, then this 
method re-opens itself in its own process
//Note below on New Process: I chose to leave the * off so I can run it 
again if I want, a new window is opened
$ProcNo:=New process(Current method name;256*1024;Current method 
name;$1;"NewProcess")
BRING TO FRONT($ProcNo)


: (Count parameters=2)
$MethodName:=$1
$NewProcessFlag:=$2//existence of $2 simply means we are in a new process, 
that's all it does

METHOD GET CODE($MethodName;$MethodCode)

ARRAY TEXT($aMethodCodeArr;0)
TextToArrayList (->$MethodCode;->$aMethodCodeArr;"";"";"NoSort")//this 
takes text and puts each line as an array element



$NumLines:=Size of array($aMethodCodeArr)

For ($N;1;$NumLines)//go through all the lines of the method, separate 
into 4 pieces: variable declarations, array declarations, code, and 
comments.
//We don't keep any comments.I don't know why I want to keep variable 
declarations separate from array declarations; it makes me feel better.

$CodeLine:=$aMethodCodeArr{$N}//this is one line of code.We examine it.

$WhereCommentBegins:=Position("//";$CodeLine)//find and remove all 
comments; they may contain local variable references, such as unused code
If ($WhereCommentBegins>=1)
$CodeLine:=Substring($CodeLine;1;$WhereCommentBegins-1)
End if 

$CodeLine:=Replace string($CodeLine;Char(Tab);"")//remove leading TAB's, 
we want what we're looking for to be at position 1
$CodeLine:=DeLBlank ($CodeLine)//remove leading spaces from the code line, 
so we're assured what we are looking for will be at position 1
$CodeLine:=RemoveQuotedStrings ($CodeLine)//Thanks to John DeSoi; remove 
anything in double quotes, to prevent catching any $ that would be there


Case of 
: (Position("C_";$CodeLine)=1)//this is a C_BOOLEAN or C_TEXT or 
C_Something declaration command and now will be at position 1 (no tabs, no 
spaces)
$LineDeclarationBlock:=$LineDeclarationBlock+$CodeLine+$CR//this is all 
the code containing declarations


: (Position("ARRAY ";$CodeLine)=1)//this is an ARRAY BOOLEAN or ARRAY TEXT 
or ARRAY Something command
$WhereSemi:=Position(";";$CodeLine)
If ($WhereSemi>0)

$WhereDollar:=Position("$";$CodeLine;$WhereSemi)`Added this section in 
version 2:
If ($WhereDollar>0)//if there is a dollar sign after the semicolon, eg 
ARRAY LONGINT($aLongintArray;$SizeOfArray) - then add this portion to 
$AllCodeButDeclarations
$AllCodeButDeclarations:=$AllCodeButDeclarations+Substring($CodeLine;$WhereSemi;Length($CodeLine))+$CR
End if 

$CodeLine:=Substring($CodeLine;1;$WhereSemi)+"0)"//force line to look only 
at the array declaration, because there could be a var after this

End if 
$ArrayDeclarationBlock:=$ArrayDeclarationBlock+$CodeLine+$CR//this is all 
the code containing array declarations

Else 
// this is not a declaration line
If ($CodeLine#"")//make sure it is not a blank line; build up the code 
WITHOUT the declarations; we'll
//later examine this to get all the variables that are in use
$AllCodeButDeclarations:=$AllCodeButDeclarations+$CodeLine+$CR
End if //$CodeLine#""

End case 
End for //$N;1;$NumLines

// I haven't tried it, but Patrick Emanuel suggested this: 
"(?mi-s)(\\b[[:alpha:]][\\w+]*\\b)[?=\\:|\\;|\\)|\\>|\\<|\\{|\\}|\\]|\\[|\\r|\\n]|(\\$[\\w+]*\\b)|(<>[[:alpha:]][\\w+]*\\b)"
$RegEx:="\\$[_a-zA-Z0-9]*"//many thanks to Lee Hinde for this, horray 
(version 2, with underscore)!

// Pull all declared local variables out
ARRAY TEXT($aDeclaredLocals;0)// array of all locals pulled out of our 
code containing declaractions; these are "Declared Locals"
ARRAY TEXT($aUniqueDeclaredLocals;0)// Same as above, reduced to a single 
instance for each local va

Re: Testing for Null is superior to OB is defined

2018-04-30 Thread Kirk Brooks via 4D_Tech
You know I should expand on this a little bit:

On Sun, Apr 29, 2018 at 10:56 AM Kirk Brooks  wrote:

> Here are the equivalent statements for clearing $obj:
>
> CLEAR VARIABLE($obj)
> $obj:=Null
>
> The results are the same. A ‘cleared’ object variable is a Null object
> variable.
>

​The results ARE the same but WHERE those results are may not be. ​In my
example $obj is defined as a single instance. But if $obj is defined as
part of a larger object it is a 'reference' to that part of the larger
object. I will change my example a little bit:

C_OBJECT($obj;$parentObj)
$parentObj:=New object("obj";New object)  //  create an object named 'obj'
in $parentObj

$obj:=$parentObj.obj  //  make $obj a reference to it
$ok:=(obj=Null)  //   $ok = false because it is defined
$obj.key:="value"//add a property named "key" with a value named "value"

$obj:=Null  //   ?

The expression '$obj.key:="value"' results in

$obj = {"key":"value"}

and

$parentObj = {"obj":{ "key":"value" }}

​because $obj is a reference to the property in the parent object. ​So
changes to $obj actually change $parentObj.


Except for Null.

After executing $obj:=Null:

$obj = Null  //  true

$parentObj = {"obj": {"key":"value"}}  // what?

​Null "breaks" the reference linking between $obj and ​$parentObj. 'New
object', 'OB Copy', 'OB REMOVE' and 'CLEAR VARIABLE' have the same effect.

This is also true if I start in the $parentObj:

$parentObj.obj:=Null

//  $obj (still) = {"key":"value"}

​
BTW - object properties (keys) are becoming more restrictive
.
They must begin with a letter, underscore or $. But the $ doesn't have any
particular significance in the name and can be used anywhere. Numbers are
OK just not for the first character. Dashes, spaces and such are not to be
used. As someone else said if you are still using spaces in names of
anything (except constants I suppose) you deserve what you get. Just stop
it.

-- 
Kirk Brooks
San Francisco, CA
===

*We go vote - they go home*
**
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: Testing for Null is superior to OB is defined

2018-04-30 Thread John DeSoi via 4D_Tech
This only applies to dot notation you write directly in the method. If you 
reference properties with brackets [], you can use any property name string you 
like. 

One feature that I think is missing is that you can't access a complex property 
path using a string. For example.

$object:=New object("one";1;"child";New object("two";2))

I can use

$object.child.two (or $object["child"]["two"])

But if I pass $object and the string "child.two" to another method, I can't get 
the property unless I parse the path and handle each level. I think it would be 
helpful to have an extra parameter to OB Get and OB Get type to treat the 
property as a valid path, e.g.

OB Get($object;"child.two";*) `2
OB Get type($object;"child.two";*) `Is real


John DeSoi, Ph.D.

> On Apr 30, 2018, at 10:49 AM, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> BTW - object properties (keys) are becoming more restrictive
> .
> They must begin with a letter, underscore or $. But the $ doesn't have any
> particular significance in the name and can be used anywhere. Numbers are
> OK just not for the first character. Dashes, spaces and such are not to be
> used. As someone else said if you are still using spaces in names of
> anything (except constants I suppose) you deserve what you get. Just stop
> 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
**

Access to Macintosh Accessibility tools from within 4D

2018-04-30 Thread Lee Hinde via 4D_Tech
A client has been in an accident and has lost use of his hands and needs to
operate his 4D database via speech.  I'm told that the Mac Accessibility
System Preference can be configured so that you can talk to your mac and
verbally click buttons and operate menus (I'm getting an error right now
trying to configure it.)

Someone working with the client is telling me that the 4D GUI isn't
responding as other programs do. They're using v15.

Has anyone worked on making their database accessible? Any pointers?
**
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: [Tip?] Test path name and Posix

2018-04-30 Thread Arnaud de Montard via 4D_Tech

> Le 28 avr. 2018 à 19:05, Arnaud de Montard via 4D_Tech <4d_tech@lists.4d.com> 
> a écrit :
> 
> 
>> Le 27 avr. 2018 à 19:29, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> a 
>> écrit :
>> 
>> Test Path Name FAILS (file/folder does not exist) if given a POSIX 
>> formatted path.
> 
> Normal behaviour, doc says "You can pass either a relative or absolute 
> pathname, expressed in the syntax of the current system."  :-(

PS :

Bad recent experience with posix paths after migrating on a new MacOS server

Given for example a system path "sharedFolder:subFolder:", I used to store it 
in posix in the old server:
"/volumes/sharedFolder/subFolder/"
converting to system path was ok during years

On the new server, the valuable posix path now is something like 
"/volumes/sharedFolder-3/subFolder/" (-3 has been added)
I've changed my mind and store system path…  :-/
But I'm wondering where this number comes from:
 multiple tests of mounting the shared volumes? 
 any idea? 

-- 
Arnaud de Montard 





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

Picture Madness

2018-04-30 Thread Douglas Cryer via 4D_Tech
I have a picture puzzle that I hope someone may be able to help me with.

We are doing the following:
C_PICTURE(vg_Picture)
READ PICTURE FILE("";vg_Picture)

To load a picture to a screen variable.  My colleague has complained that when 
he loads some pictures they as he puts it "lay down".  I got him to send me an 
example and what I found is that despite the image loading into every other 
application as portrait the image loads in 4D as landscape.

The OS (Windows and Mac) sees the file as 3056x4592 but when I examine the EXIF 
pixel x  & y dimensions they do confirm it is a landscape picture 4592x3056.  I 
can only assume that the image was originally landscape and was rotated at the 
OS level but the EXIF properties (which are read only) remained.

What I want to do is load the picture based on its file property dimensions and 
not the EXIF property dimansions.  Is there anyway to do this in 4D code?  I 
hope I have explained the issue correctly...

Regards,  Dougie


telekinetix Limited- J. Douglas Cryer
Phone : 01234 761759  Mobile : 07973 675 218
2nd Floor Broadway House, 4-6 The Broadway, Bedford MK40 2TE
Email : jdcr...@telekinetix.com  Web : http://www.telekinetix.com 


 



**
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: 7-zip from within 4D

2018-04-30 Thread Timothy Penner via 4D_Tech
https://github.com/miyako/4d-component-7-zip
Updated on Apr 28, 2015


-Tim



**
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: Picture Madness

2018-04-30 Thread Cannon Smith via 4D_Tech
Hi Douglas,

You can do this in code. For example, here is some code I use:

GET PICTURE METADATA($gPicture;TIFF orientation;$lOrientation)
Case of 
   : ($lOrientation=1)  //Normal, no rotation needed

   : ($lOrientation=8)  //Left 90˚, so need to rotate right 90˚
  $gPicture:=Photo_Rotate ($gPicture;90)

   : ($lOrientation=3)  //Upside down, so rotate 180˚
  $gPicture:=Photo_Rotate ($gPicture;180)

   : ($lOrientation=6)  //Right 90˚, so need to rotate 270˚
  $gPicture:=Photo_Rotate ($gPicture;270)

   Else   //The other orientations are not supported. They involved flipping 
the image. Ever occur?

End case 


The Photo_Rotate method is as follows:

  //This method rotates a picture. While it will rotate the picture to
  //any angle, this method is really expecting it to rotate 90˚, 180˚,
  //or 270˚.

C_PICTURE($1;$gPicture)
C_REAL($2;$rDegrees)  //Expects 90, 180, or 270
C_PICTURE($0)

$gPicture:=$1
$rDegrees:=$2

C_LONGINT($lWidth;$lHeight)
C_TEXT($svgRef;$imageRef)

PICTURE PROPERTIES($gPicture;$lWidth;$lHeight)
$svgRef:=SVG_New ($lWidth;$lHeight)
$imageRef:=SVG_New_embedded_image ($svgRef;$gPicture;0;0;".jpeg")

If (($rDegrees=90) | ($rDegrees=270))
SVG_SET_TRANSFORM_ROTATE ($imageRef;$rDegrees;($lHeight/2);($lWidth/2))
SVG_SET_TRANSFORM_TRANSLATE 
($imageRef;(($lHeight-$lWidth)/2);(($lWidth-$lHeight)/2))
DOM SET XML 
ATTRIBUTE($svgRef;"height";String($lWidth);"width";String($lHeight))
Else   //180
SVG_SET_TRANSFORM_ROTATE ($imageRef;$rDegrees;($lWidth/2);($lHeight/2))
End if 

$0:=SVG_Export_to_picture ($svgRef)
SVG_CLEAR ($svgRef)

HTH.

--
Cannon.Smith
Synergy Farm Solutions Inc.
Hill Spring, AB Canada
403-626-3236




> On Apr 30, 2018, at 11:03 AM, Douglas Cryer via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> What I want to do is load the picture based on its file property dimensions 
> and not the EXIF property dimansions.  Is there anyway to do this in 4D code? 
>  I hope I have explained the issue correctly...

**
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: Access to Macintosh Accessibility tools from within 4D

2018-04-30 Thread Tim Nevels via 4D_Tech
On Apr 30, 2018, at 2:00 PM, Lee Hinde wrote:

> A client has been in an accident and has lost use of his hands and needs to
> operate his 4D database via speech.  I'm told that the Mac Accessibility
> System Preference can be configured so that you can talk to your mac and
> verbally click buttons and operate menus (I'm getting an error right now
> trying to configure it.)
> 
> Someone working with the client is telling me that the 4D GUI isn't
> responding as other programs do. They're using v15.
> 
> Has anyone worked on making their database accessible? Any pointers?

The issue is that “controls” like buttons and fields need to be implemented and 
defined as “native” so that macOS can query the window and obtain all the 
controls. Then it can “remote control” them. I don’t believe 4D draws buttons 
on forms in this way. It may use “native” controls but it doesn’t register them 
in the proper way. 

An example is tabbing to popup menus or radio buttons. macOS supports this 
natively, but you can’t do this in 4D. It works in 4D on Windows, but not on 
macOS. 

I think you maybe be out of luck getting the native Mac Accessibility working 
inside 4D. 

I remember a plugin that was available for 4D that would accept voice commands 
and you could then program 4D to respond. I forget the name of the guy that 
created it. I went to his session at 4D Summit a few years ago. You might be 
able to use that and do some custom programming to make your 4D application 
voice accessible.

Anybody remember the name of this plugin or the guy that wrote it. 

Tim

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

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

Re: Picture Madness

2018-04-30 Thread jdcryer--- via 4D_Tech
Cannon,

Re: 
> You can do this in code. For example, here is some code I use:

Many thanks.  That makes complete sense I had started to look at some of the 
other options but ran out of time for the day.  I will use this tomorrow.  

Thank you again, Dougie


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

Constants - Can I make a Date Constant?

2018-04-30 Thread Chip Scheide via 4D_Tech
for example : !00/00/00!

Thanks

---
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**
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: Constants - Can I make a Date Constant?

2018-04-30 Thread Cannon Smith via 4D_Tech
Only longs, reals, and strings. Not even booleans are allowed.

--
Cannon.Smith
Synergy Farm Solutions Inc.
Hill Spring, AB Canada
403-626-3236




> On Apr 30, 2018, at 1:33 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> for example : !00/00/00!

**
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: [Tip?] Test path name and Posix

2018-04-30 Thread John DeSoi via 4D_Tech


> On Apr 30, 2018, at 11:57 AM, Arnaud de Montard via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> On the new server, the valuable posix path now is something like 
> "/volumes/sharedFolder-3/subFolder/" (-3 has been added)
> I've changed my mind and store system path…  :-/
> But I'm wondering where this number comes from:
> multiple tests of mounting the shared volumes? 
> any idea? 

Yes, sometimes a mounted share loses it's connection and gets remounted with a 
number appended to it (I have seen 2 but never 3). If you "ls /Volumes" you 
will likely see sharedFolder, sharedFolder-2, sharedFolder-3. You might be able 
to unmount the wrong ones somehow, but I generally just reboot.

You can also get this issue when you have two disks or disk images with the 
same name.

John DeSoi, Ph.D.


**
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: Access to Macintosh Accessibility tools from within 4D

2018-04-30 Thread Kirk Brooks via 4D_Tech
On Mon, Apr 30, 2018 at 12:17 PM Tim Nevels via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> On Apr 30, 2018, at 2:00 PM, Lee Hinde wrote:
> > Someone working with the client is telling me that the 4D GUI isn't
> > responding as other programs do. They're using v15.
> >
> > Has anyone worked on making their database accessible? Any pointers?
>
> I remember a plugin that was available for 4D that would accept voice
> commands and you could then program 4D to respond. I forget the name of the
> guy that created it. I went to his session at 4D Summit a few years ago.
> You might be able to use that and do some custom programming to make your
> 4D application voice accessible.
>
> Anybody remember the name of this plugin or the guy that wrote it.
>

​I'd check with Miyako. I recall him demoing something he wrote maybe 10
years ago that allowed 4D to respond to movement. It was cool but I
couldn't think of anything to do with it.
​

-- 
Kirk Brooks
San Francisco, CA
===

*We go vote - they go home*
**
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
**

v13 - Retokenize entire database

2018-04-30 Thread Chip Scheide via 4D_Tech
Other then opening each method individually, is there a way to 
re-tokenize the entire database?

I replaced a bunch of IP 'Konstnats' with xlif defined constants and in 
some instances the new xliv constants did not tokenize so I get 
execution errors.

THanks

---
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**
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 - Retokenize entire database

2018-04-30 Thread Kirk Brooks via 4D_Tech
Chip,
Here's a method I picked up a while ago. Looks like Vincent wrote it:
If (False)
Method_RetokenizeAllCode

// Adapted from a NUG thread in September of 2015.
// From: Vincent de Lachaux
// Date: Wednesday, September 23, 2015
// Subject: Re-Tokenize Methods Procedurally
// To: 4D iNug Technical<4d_tech@lists.4d.com>

// Notes: If a method is being edited, this routine can't retokenize it.
// Errors from this are suppressed in this implementation. -- DPA
End if

C_BOOLEAN($1;$confirm_first)

$confirm_first:=True
If (Count parameters>=1)
$confirm_first:=$1
End if

C_BOOLEAN($continue)
$continue:=True

If (Is compiled mode)
Method_AlertIfRunningCompiled("Method retokenization does not work in
compiled mode.")
$continue:=False
End if

OK:=0
If ($continue & $confirm_first)
C_TEXT($message)
$message:=""
$message:=$message+"Please make a backup of the structure if you haven't
already."+Char(Carriage return)+Char(Carriage return)
$message:=$message+"Close any methods currently open in the Design
environment before proceeding."+Char(Carriage return)+Char(Carriage return)
$message:=$message+"Retokenize all methods now?"

CONFIRM($message)
$continue:=OK=1
End if

If ($continue)
C_TEXT($icon_path)
C_LONGINT($progress_id)
C_BOOLEAN($enable_close)
$icon_path:=Resources_GetImageFilePath("Process_Code_Large.png")
$enable_close:=True
$progress_id:=Progress_Open("Retokenizing all
code";$icon_path;$enable_close)

ARRAY TEXT($method_paths_at;0)
METHOD GET PATHS(Path all objects;$method_paths_at;*)

C_LONGINT($paths_count)
C_LONGINT($path_index)
$paths_count:=Size of array($method_paths_at)
For ($path_index;1;$paths_count)
C_TEXT($method_path)
$method_path:=$method_paths_at{$path_index}

Progress_Update($progress_id;$method_path;$path_index/$paths_count)

C_TEXT($method_text)
METHOD GET CODE($method_path;$method_text;*)
METHOD SET CODE($method_path;$method_text;*)
End for

Progress_Close($progress_id)
End if


On Mon, Apr 30, 2018 at 1:42 PM Chip Scheide via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Other then opening each method individually, is there a way to
> re-tokenize the entire database?
>
> I replaced a bunch of IP 'Konstnats' with xlif defined constants and in
> some instances the new xliv constants did not tokenize so I get
> execution errors.
>
> THanks
>
> ---
> Gas is for washing parts
> Alcohol is for drinkin'
> Nitromethane is for racing
> **
> 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
> **



-- 
Kirk Brooks
San Francisco, CA
===

*We go vote - they go home*
**
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: Testing for Null is superior to OB is defined

2018-04-30 Thread Keisuke Miyako via 4D_Tech
the command "Split string", although generic,
was specifically created to help parse dot notation.

http://doc.4d.com/4Dv16R6/4D/16-R6/Split-string.301-3644822.en.html

2018/05/01 1:27、John DeSoi via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
One feature that I think is missing is that you can't access a complex property 
path using a string. For example.


**
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: Testing for Null is superior to OB is defined

2018-04-30 Thread Lee Hinde via 4D_Tech
How did I miss that… so much new stuff.

Also, FINALLY.

> On Apr 30, 2018, at 2:21 PM, Keisuke Miyako via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> the command "Split string", although generic,
> was specifically created to help parse dot notation.
> 
> http://doc.4d.com/4Dv16R6/4D/16-R6/Split-string.301-3644822.en.html 
> 

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

64 vs 32 Bit 4D

2018-04-30 Thread Cannon Smith via 4D_Tech
I’m currently using 4D v16r5, Mac and Windows. I’m using the 64-bit versions 
across the board. I may need to drop back to 32-bit for clients and standalone 
for a little while.

I can’t seem to remember or find if there are any features (besides the network 
settings) that are 64-bit only. Does anyone know if there are features I may be 
forgetting about?

Thanks.

--
Cannon.Smith
Synergy Farm Solutions Inc.
Hill Spring, AB Canada
403-626-3236




**
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: 64 vs 32 Bit 4D

2018-04-30 Thread Randy Engle via 4D_Tech
4DWRITEPro (several items)
Quick Report Editor (new version)

A few others I think

Randy Engle, Director
XC2 Software LLC – XC2LIVE!

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Cannon Smith via 
4D_Tech
Sent: Monday, April 30, 2018 3:34 PM
To: 4D iNug Technical <4D_Tech@lists.4D.com>
Cc: Cannon Smith 
Subject: 64 vs 32 Bit 4D

I’m currently using 4D v16r5, Mac and Windows. I’m using the 64-bit versions 
across the board. I may need to drop back to 32-bit for clients and standalone 
for a little while.

I can’t seem to remember or find if there are any features (besides the network 
settings) that are 64-bit only. Does anyone know if there are features I may be 
forgetting about?

Thanks.

--
Cannon.Smith
Synergy Farm Solutions Inc.
Hill Spring, AB Canada
403-626-3236




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

**
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: 64 vs 32 Bit 4D

2018-04-30 Thread Cannon Smith via 4D_Tech
Never mind. I just needed to hit “send” so I could find my own answer!




--
Cannon.Smith
Synergy Farm Solutions Inc.
Hill Spring, AB Canada
403-626-3236




> On Apr 30, 2018, at 4:34 PM, Cannon Smith via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I’m currently using 4D v16r5, Mac and Windows. I’m using the 64-bit versions 
> across the board. I may need to drop back to 32-bit for clients and 
> standalone for a little while.
> 
> I can’t seem to remember or find if there are any features (besides the 
> network settings) that are 64-bit only. Does anyone know if there are 
> features I may be forgetting about?

**
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: 64 vs 32 Bit 4D

2018-04-30 Thread Keisuke Miyako via 4D_Tech
also in language reference:

http://doc.4d.com/4Dv16R6/4D/16-R6.1660/Not-for-32-bit-versions_3546700.999-857020.ja.html

> 2018/05/01 7:38、Cannon Smith via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Never mind. I just needed to hit “send” so I could find my own answer!
> http://doc.4d.com/4Dv16R5/4D/16-R5/Specific-features-of-64-bit-applications.300-3509196.en.html




**
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 data in 4D format using XML

2018-04-30 Thread Keisuke Miyako via 4D_Tech
the docs reads:

When you pass this parameter, the import is carried out directly, without any 
user intervention (unless you use the * option, see below).

http://doc.4d.com/4Dv16R6/4D/16-R6.1660/Not-for-32-bit-versions_3546700.999-857020.ja.html

> 2018/04/29 20:39、Two Way Communications via 4D_Tech <4d_tech@lists.4d.com> 
> のメール:
> However, If I use it in 4D v16R5,  the ‘Import Data’ command does not open 
> the file dialog, but returns ok=0?
> Has anything changed?




**
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: Access to Macintosh Accessibility tools from within 4D

2018-04-30 Thread Lee Hinde via 4D_Tech
Thanks Tim and Kirk. Does Miyako have a bat signal, like J*P*R does?


> On Apr 30, 2018, at 12:47 PM, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> On Mon, Apr 30, 2018 at 12:17 PM Tim Nevels via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> On Apr 30, 2018, at 2:00 PM, Lee Hinde wrote:
>>> Someone working with the client is telling me that the 4D GUI isn't
>>> responding as other programs do. They're using v15.
>>> 
>>> Has anyone worked on making their database accessible? Any pointers?
>> 
>> I remember a plugin that was available for 4D that would accept voice
>> commands and you could then program 4D to respond. I forget the name of the
>> guy that created it. I went to his session at 4D Summit a few years ago.
>> You might be able to use that and do some custom programming to make your
>> 4D application voice accessible.
>> 
>> Anybody remember the name of this plugin or the guy that wrote it.
>> 
> 
> ​I'd check with Miyako. I recall him demoing something he wrote maybe 10
> years ago that allowed 4D to respond to movement. It was cool but I
> couldn't think of anything to do with it.
> ​
> 
> -- 
> Kirk Brooks
> San Francisco, CA
> ===
> 
> *We go vote - they go home*
> **
> 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
> **

**
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: 64 vs 32 Bit 4D

2018-04-30 Thread Cannon Smith via 4D_Tech
Thanks Miyako and Randy!

--
Cannon.Smith
Synergy Farm Solutions Inc.
Hill Spring, AB Canada
403-626-3236




> On Apr 30, 2018, at 4:43 PM, Keisuke Miyako via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> also in language reference:
> 
> http://doc.4d.com/4Dv16R6/4D/16-R6.1660/Not-for-32-bit-versions_3546700.999-857020.ja.html

**
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: 9913 SOAP errors

2018-04-30 Thread Sujit Shah via 4D_Tech
Update

We have customer sites with no proxy also having 9913 SOAP errors. This one
in particular have several hundred sites connecting to the head office via
SOAP. The customer tech department are running a Cron Job that polls the
WSDL every minute. If there are 10 consecutive failures an alert is fired.
Based on this test they report an average of 4-5 failures a day per site.
Moving forward this is a concern for us especially with the development of
more and more web based functionality. If there are 4D users using SOAP
extensively for their API and not seeing these errors please fill in. I
would like to know which 4D version you are on and if there is anything in
particular you may have done to resolve this issue.



On Mon, Apr 30, 2018 at 10:37 AM, Sujit Shah  wrote:

> No the optional "*" in WEB SERVICE CALL is not used
>
>
> On Mon, Apr 30, 2018 at 10:29 AM, Keisuke Miyako via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
>> are you calling soap with the asterisk (keep-alive) option?
>> keep-alive can timeout and die when the interval is too long.
>> normally, it should only be used with blocks of soap calls and except for
>> the closing call.
>>
>> > 2018/04/30 9:12、Sujit Shah via 4D_Tech <4d_tech@lists.4d.com> のメール:
>> > We have a customer with a 4D web server behind a proxy. The customers IT
>> > department ping the WSDL (a secure https url). Both their IT department
>> and
>> > the 4D error logs are reporting 9913 SOAP errors several times a day.
>>
>>
>>
>> **
>> 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
>> **
>
>
>
>
> --
>
> xxx
> "There must be ingenuity as well as intention, strategy as well as
> strength. "
>
>



-- 

xxx
"There must be ingenuity as well as intention, strategy as well as
strength. "
**
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 - Retokenize entire database

2018-04-30 Thread Chip Scheide via 4D_Tech
Thanks!


> Chip,
> Here's a method I picked up a while ago. Looks like Vincent wrote it:
> If (False)
> Method_RetokenizeAllCode
> 
> // Adapted from a NUG thread in September of 2015.
> // From: Vincent de Lachaux
> // Date: Wednesday, September 23, 2015
> // Subject: Re-Tokenize Methods Procedurally
> // To: 4D iNug Technical<4d_tech@lists.4d.com>
> 
> // Notes: If a method is being edited, this routine can't retokenize it.
> // Errors from this are suppressed in this implementation. -- DPA
> End if
> 
> C_BOOLEAN($1;$confirm_first)
> 
> $confirm_first:=True
> If (Count parameters>=1)
> $confirm_first:=$1
> End if
> 
> C_BOOLEAN($continue)
> $continue:=True
> 
> If (Is compiled mode)
> Method_AlertIfRunningCompiled("Method retokenization does not work in
> compiled mode.")
> $continue:=False
> End if
> 
> OK:=0
> If ($continue & $confirm_first)
> C_TEXT($message)
> $message:=""
> $message:=$message+"Please make a backup of the structure if you haven't
> already."+Char(Carriage return)+Char(Carriage return)
> $message:=$message+"Close any methods currently open in the Design
> environment before proceeding."+Char(Carriage return)+Char(Carriage return)
> $message:=$message+"Retokenize all methods now?"
> 
> CONFIRM($message)
> $continue:=OK=1
> End if
> 
> If ($continue)
> C_TEXT($icon_path)
> C_LONGINT($progress_id)
> C_BOOLEAN($enable_close)
> $icon_path:=Resources_GetImageFilePath("Process_Code_Large.png")
> $enable_close:=True
> $progress_id:=Progress_Open("Retokenizing all
> code";$icon_path;$enable_close)
> 
> ARRAY TEXT($method_paths_at;0)
> METHOD GET PATHS(Path all objects;$method_paths_at;*)
> 
> C_LONGINT($paths_count)
> C_LONGINT($path_index)
> $paths_count:=Size of array($method_paths_at)
> For ($path_index;1;$paths_count)
> C_TEXT($method_path)
> $method_path:=$method_paths_at{$path_index}
> 
> Progress_Update($progress_id;$method_path;$path_index/$paths_count)
> 
> C_TEXT($method_text)
> METHOD GET CODE($method_path;$method_text;*)
> METHOD SET CODE($method_path;$method_text;*)
> End for
> 
> Progress_Close($progress_id)
> End if
> 
> 
> On Mon, Apr 30, 2018 at 1:42 PM Chip Scheide via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> Other then opening each method individually, is there a way to
>> re-tokenize the entire database?
>> 
>> I replaced a bunch of IP 'Konstnats' with xlif defined constants and in
>> some instances the new xliv constants did not tokenize so I get
>> execution errors.
>> 
>> THanks
>> 
>> ---
>> Gas is for washing parts
>> Alcohol is for drinkin'
>> Nitromethane is for racing
>> **
>> 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
>> **
> 

Hell is other people 
 Jean-Paul Sartre
**
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: Testing for Null is superior to OB is defined

2018-04-30 Thread Kirk Brooks via 4D_Tech
Miyako,
This occurred to me too. Sadly there's no example for that in the docs.
Would you happen to have a bit of code showing how it's intended to be used?

On Mon, Apr 30, 2018 at 2:22 PM Keisuke Miyako via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> the command "Split string", although generic,
> was specifically created to help parse dot notation.
>
> http://doc.4d.com/4Dv16R6/4D/16-R6/Split-string.301-3644822.en.html
>

-- 
Kirk Brooks
San Francisco, CA
===

*We go vote - they go home*
**
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: Access to Macintosh Accessibility tools from within 4D

2018-04-30 Thread Milan Adamov via 4D_Tech


> On May 1, 2018, at 00:48, Lee Hinde via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> Thanks Tim and Kirk. Does Miyako have a bat signal, like J*P*R does?

Keisuke doesn’t need one. B) I think he will answer as soon as he read the 
message.

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

64 bit 15.6 database on Mac OS X Server - sharing of our experience

2018-04-30 Thread Paul Lovejoy via 4D_Tech
Hi,

I’m sharing my experience with 64 bit 4D 15.5 on Mac OS X during a real life 
“test” from last Saturday to Monday morning.

We have a database of about 120gb with about 160 simultaneous users. It runs on 
a bi-processor xServe with SSDs and 64gb of RAM.

After testing for a few days, we installed 4D Server 64 bit and went live on 
Saturday, when only about 30 users are connected. Cache was set to 12 gb, 
leaving lots of free memory for the OS.

Everything seemed to go pretty smoothly and the database was very fast for 
queries, thanks to the added cache (12 gb instead of 1 gb on 32 bit). The 
database ran well over the weekend. 

On Monday morning the users began logging on. When 57 out of 160 users had 
connected, the database crawled to a near halt. No other users were able to 
connect and operations which would normally take fractions of a second were 
taking a minute or more… CPU and network usage seemed normal on the server. 
Sadly decided to abandon the upgrade and go back to the 32 bit server.

I’m guessing the failure of our upgrade is due to the new network layer.

We’re considering moving the DB to Windows in hopes that network performance 
will be better. 

Cheers,


Paul

**
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: 64 bit 15.6 database on Mac OS X Server - sharing of our experience

2018-04-30 Thread Keisuke Miyako via 4D_Tech
sounds similar to ACI0097483 (=ACI0097510)

https://bugs.4d.fr/fixedbugslist?version=16.3_HF2

good news I suppose is that it should not happen in v16...




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