Re: NGINX Config

2017-09-29 Thread Doug Hall via 4D_Tech
I appreciate your time to look this over, David and Jason. I'll definitely
check out Nginx Plus, David, thanks. Jason, that's a great idea, to point
it to another IP. I happen to have another development server that should
do the trick. I'll give it a shot Monday morning. Y'all have a great
weekend!

Doug

On Fri, Sep 29, 2017 at 4:32 PM, JasonH via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> Hi Doug,
>
> I can't offer anything other than to say what you have looks correct to me.
> I was just thinking to confirm it's a NGINX issue and not 4d / Active4D
> config problem, try pointing name2.domain.com to a totally different IP
> than
> your 4D server.  Name1 should redirect to your 4D webserver, and then name2
> to a totally different server.
>
> If that works, then you're configuring NGINX correctly and 4D / Active4D is
> mis-configured.  If you still get the same page with both requests, then
> you
> know something is messed up with the NGINX config.
>
> Good luck!
> Jason
>
>
>
> --
> Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
> **
> 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: OPEN COLOR PICKER or OBJECT SET RGB COLORS inconsistencies

2017-09-29 Thread Keisuke Miyako via 4D_Tech
on the color picker panel you should find a cogwheel icon,
which allows you to pick a color space.

after all,
RGB is not an absolute definition unless you also specify the color space.

when you use the picker tool,
it will always return the RGB in the generic (NSCalibratedRGBColorSpace) space,
which is not the same as HTML (sRGB) or device (4D).

when you open the picker,
the device space is selected by default, so all is fine.
but when you use the picker tool, it switches to generic,
so the RGB representation differs to that used in 4D.
you need to manually switch the space to device,
or use the value returned by the command (which is converted to device).

> 2017/09/30 0:50、Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Anyone else seen this? Any ideas? Worth filing a bug report?
> ​This is v16.2 (32 bit) on macos Sierra. ​




**
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 Graph customization question

2017-09-29 Thread Michael McCall via 4D_Tech
We've upgraded to 4D v16 and needed to replace some custom graphs we'd produced 
using 4D Draw. The good news is that it looks like the Graph command can 
produce good enough graphs to meet our needs and looks pretty easy to use. 
There were just a couple of things that it would be especially nice to have if 
they were available. Unfortunately I don't immediately see them as options 
using the graphSettings attributes.

1) We are using the column chart type 1. Is there any way to have the numeric 
value associated with a bar display either in the bar or immediately above the 
bar. That would make it easier for folks to immediately see exactly what the 
value of the bar was. I noticed a percentage appeared in the pie slices of the 
pie chart so I was hopeful there may be some attributes I'm just missing to do 
something similar for the column chart.

2) For the column type 1 charts we are using only one Y array. In the example 
in the manual they show two Y arrays so you can see by year in the Y axis how 
much France and the US had of X for each year. In that example France is in 
Blue and the USA is in gold. In our case using that example we would only be 
displaying 1 country and the Y axis would be each year for that country. As 
example we'd just be showing France's results by year on the Y axis. In doing 
that all of the bars are blue. Is there a way to have the bar colors change 
such that for 1995 it is blue and 1996 it is gold and 1997 it is perhaps red. 
We'd also be happy with the system just alternating colors if that was an 
option. We'd just like the Graph to look a little more exciting than just 
having one bar color.

We like the simplicity of the graph command and don't want to get too carried 
away but if there are any other simple tricks we can use to dress them up we'd 
be interested in that as well.

Thanks in advance for any help or suggestions.

Mike McCall

 


**
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: NGINX Config

2017-09-29 Thread JasonH via 4D_Tech
Hi Doug,

I can't offer anything other than to say what you have looks correct to me. 
I was just thinking to confirm it's a NGINX issue and not 4d / Active4D
config problem, try pointing name2.domain.com to a totally different IP than
your 4D server.  Name1 should redirect to your 4D webserver, and then name2
to a totally different server.

If that works, then you're configuring NGINX correctly and 4D / Active4D is
mis-configured.  If you still get the same page with both requests, then you
know something is messed up with the NGINX config.

Good luck!
Jason



--
Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
**
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: Canvas alternative

2017-09-29 Thread John Baughman via 4D_Tech
I moved a medical office scheduling dialog I had rolled myself to Canvas a 
while back and have been very happy with it. I was especially glad I had made 
the move recently when I had to change appointment minimum times from 15 mins 
to 10 mins. All I had to do was change a variable.

Curious as to why you are moving away.

If I were to move from Canvas to something else today, I might take a look at 
SVG as a possible alternative. At least for my application of Canvas, I think I 
could do it with SVG.

John


> On Sep 29, 2017, at 9:09 AM, Drew Waddell via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> We are considering trying to remove Canvas from our application.  I am 
> curious if anyone has any alternatives that they would recommend.  We are up 
> for trying to roll our own but were curious if someone has moved from Canvas 
> to something else.
> 
> Thanks,
> 
> Drew Waddell
> Development Team Lead
> Orchard Software Corporation
> **
> 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
> **

John Baughman
Kailua, Hawaii
(808) 262-0328
john...@hawaii.rr.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: v13 - replace string, odd slowness

2017-09-29 Thread Alan Chan via 4D_Tech
Hi Chip,

This is a known issue on v13. When old string and new string is of different 
length, it will become very slow if the file was large and large number of 
occurance. 4D has rewritten it on v15.

I posted a method on 
http://4d.1045681.n5.nabble.com/v13-Replace-String-warning-td5752820.html that 
was to replace old string with shorter new string such as replacing CRLF with 
CR.

To replace shorter old string with longer one, you could try the following:

C_TEXT($0;$1;$2;$3;$source;$oldStr;$newStr;$result;$tempTxt)  
//ES_ReplaceStr_Expand($source;$oldString;$newString;{$count 
pointer})->Resulted text
C_POINTER($4)
C_LONGINT($oldLen;$newLen;$oldStrLen;$NewStrLen;$count;$offset;$offset2;$start;$pos)
C_BLOB($blob;$blob2)  //this has been optimised for shrink and expand
$source:=$1
$oldLen:=Length($source)  //$source is the source text
$oldStr:=$2
$newStr:=$3
$oldStrLen:=Length($oldStr)
$newstrlen:=Length($newStr)

If ($NewStrLen>$oldStrLen)
$start:=1
$count:=0
Repeat 
$pos:=Position($oldstr;$source;$start;*)
If ($pos>0)
$start:=$pos+$oldStrlen
$count:=$count+1
End if 
Until ($pos=0)
$newLen:=$oldLen+(($NewStrLen-$oldStrLen)*$count)
SET BLOB SIZE($blob;$newlen*2+9;0)
Else 
SET BLOB SIZE($blob;$oldlen*2+9;0)
End if 

$offset:=9
$start:=1
$count:=0
Repeat 
$pos:=Position($oldstr;$source;$start;*)
If ($pos>0)
$tempTxt:=Substring($source;$start;$pos-$start)+$newStr
$start:=$pos+$oldStrLen
If (Length($tempTxt)>0)
$offset2:=0
VARIABLE TO BLOB($tempTxt;$blob2;$offset2)
COPY BLOB($blob2;$blob;9;$offset;$offset2-9)
$offset:=$offset+$offset2-9
End if 
$count:=$count+1
End if 
Until ($pos=0)

If ($count>0)

If ($start<=$oldlen)
$tempTxt:=Substring($source;$start)
If (Length($tempTxt)>0)
$offset2:=0
VARIABLE TO BLOB($tempTxt;$blob2;$offset2)
COPY BLOB($blob2;$blob;9;$offset;$offset2-9)
End if 
End if 

If ($oldStrlen>$NewStrLen)
$newLen:=$oldLen+(($NewStrLen-$oldStrLen)*$count)
SET BLOB SIZE($blob;$newlen*2+9)
End if 

$blob{0x}:=Character code("R")
$blob{0x0001}:=Character code("V")
$blob{0x0002}:=Character code("L")
$blob{0x0003}:=Character code("B")
$blob{0x0004}:=0x0021
$blob{0x0005}:=$newlen%256
$blob{0x0006}:=($newlen\256)%256
$blob{0x0007}:=($newlen\65536)%256
$blob{0x0008}:=($newlen\16777216)
$offset:=0
BLOB TO VARIABLE($blob;$result;$offset)
$0:=$result
Else 
$0:=$1
End if 

If (Count parameters>3)
$4->:=$count
End if 

Alan Chan

4D iNug Technical <4d_tech@lists.4d.com> writes:
>v13 Mac on OS X 10.9.5
>
>I have the some code testing a utility.
>I create some text, and then replace specific characters in the text 
>(see below)
>When I replace a marker with Carriage return, no problem
>When I replace CR with linefeed, no problem
>when I replace linefeed with CrLf REPLACE STRING takes many times as 
>long to complete on otherwise the same text...
>
>any Ideas??
>snippets of code follows
>
>C_TEXT($Text_var;$Cr;$Lf;$CrLf;$Other)
>
>$Text_var:="a"*100+$Other+"B"*100+$Other+"C"*100+$Other
>$Text_var:=Replace string($Text_var;$Other;$Cr)  //instaneous
>$Text_var:=Replace string($Text_var;$Cr;$Lf)  //instaneous
>$Text_var:=Replace string($Text_var;$Lf;$CrLf)  //takes 6639 millisecond
>
>

**
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: NGINX Config

2017-09-29 Thread David Ringsmuth via 4D_Tech
Doug,

Post this to: https://forum.nginx.org/

David Ringsmuth

From: Doug Hall via 4D_Tech
Sent: Friday, September 29, 2017 12:28 PM
To: 4D iNug Technical
Cc: Doug Hall
Subject: Re: NGINX Config

I am having some problems with my Nginx reverse proxy. I'm running 4Dv15,
and Active4D 6.4r3, using the 4D server shell. I have successfully
configured two web roots in Active4D, which run on the same 4D Web Client,
on port 8010. I have two different host names which are pointed to the same
IP address. I'll call them name1.domain.com:8010 and name2.domain.com:8010.
These successfully resolve to the appropriate web root within Active4D,
when I put those two urls in my web browser.

I set up my proxy in nginx two different ways, and neither of them
consistently resolve to the right website:

1: I setup one upstream server and accessed it through proxy_pass from both
server definitions:

upstream 4d_webclient{
server 127.0.0.1:8010;
}

server {
listen 80;
server_name name1.domain.com;

location / {
   root   /location_1
   proxy_pass http://4d_webclient;
   ...
}
}

server {
listen 80;
server_name name2.domain.com;

location / {
   root /location_2
   proxy_pass http://4d_webclient;
   ...
}
}

Please note that I'm just trying to get the reverse proxy to work. Once I
do that, I'll add SSL requirements, and all the necessary rewrites to make
sure people are redirected to our secured interface.

The second way I did it was to create a different upstream for each
website, using the DNS names for each, and then calling the appropriate
upstream proxy from each server definition:

upstream name1_server{
server name1.domain.com:8010;
}

upstream name2_server{
   server name2.domain.com:8010;
}

... (the same as above, except replacing 4d_webclient with name1/2_server
at proxy_pass)

Both ways gave the same results. After restarting my Web Client and nginx
(just to make sure I start from a clean slate), both name1.domain.com and
name2.domain.com resolve to the name1:domain.com:8010 website. However, if
I go to name2.domain.com:8010, then both name1.domain.com and
name2.domain.com will resolve to that website. Going to
name1.domain.com:8010 then causes both portless addresses to resolve there,
until I visit name2.domain.com:8010 directly again.

Obviously, I don't understand the relationship between how nginx deals with
upstream declarations and how that passes along to Active4D. Any help would
be appreciated.

Doug

On Fri, Oct 24, 2014 at 1:31 PM, Balinder Walia 
wrote:

> and then test by sending 100s of requests at the same time using Apache
> benchmark:
>
> Example type:
>
> $ ab -n 1000 -c 5 http://www.domain.com
>
> from Mac/Linux Terminal
>
> Balinder
>
> On 24 October 2014 19:26, Balinder Walia  wrote:
>
> > Brad,
> >
> > There are many ways to achieve it. Simplest is probably to count no of
> > processes and busyness in 4D and if too busy or near enough to use all
> > memory then get 4D to create 502.html file with appropriate message. Or
> > create if 4D is dead just leave one 502.hm there as a default option.
> >
> >
> > In JSON's script above see
> >
> >  proxy_next_upstream error timeout invalid_header http_500
> > http_502 http_503 http_504;
> >
> > what that means if proxy failed then intercept the error and show default
> > message in 502.htm
> >
> > So you would something like:
> >
> > in the main proxy block then
> >
> > proxy_intercept_errors on;
> > error_page 403 404 502 504 = @fallback;
> > break;
> >
> > and separate block what to do if proxy failed
> >
> > location @ fallback {
> > proxy_set_header X-Real-IP $remote_addr;
> > proxy_set_header Host $host;
> > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> >
> > root html;
> > index.hm which can have 502 error message or default message about 4d
> too
> > busy!
> > break;
> > }
> >
> > To be honest in this day and age we should never have a downtime and
> > customer should never see this unavailable error. they won't come back.
> So
> > I appreciate we should have a nice message on fail but setup the system
> so
> > it never fails.
> >
> >
> > On 24 October 2014 18:15, Perkins, Bradley D  wrote:
> >
> >> I'd also like to say thanks for all of these. I still use Apache but
> >> wondered about NGINX.
> >>
> >> >Any suggestions on making the Nginx server a fail-over to a hung 4D
> >> >server?
> >>
> >> Since I'm unfamiliar with NGINX, this may not help at all, but under
> >> Apache I always modify the error files for 502 (or 503?) errors so that
> >> they contain user friendly "site unavailable" messages. Those files get
> >> served when Apache can't reverse proxy to 4D.
> >>
> >> -- Brad
> >>
> >>
> >> **
> >> See how easy it is to extend your 4D solutions to Web and mobile. New
> >> opportunities await you with 4D v14!
> >>
> >> 4D Internet Users Group (4D iNUG)
> >> FAQ:  http://lists.4d.com/faqnug.

Canvas alternative

2017-09-29 Thread Drew Waddell via 4D_Tech
We are considering trying to remove Canvas from our application.  I am curious 
if anyone has any alternatives that they would recommend.  We are up for trying 
to roll our own but were curious if someone has moved from Canvas to something 
else.

Thanks,

Drew Waddell
Development Team Lead
Orchard Software Corporation
**
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: NGINX Config

2017-09-29 Thread Doug Hall via 4D_Tech
I am having some problems with my Nginx reverse proxy. I'm running 4Dv15,
and Active4D 6.4r3, using the 4D server shell. I have successfully
configured two web roots in Active4D, which run on the same 4D Web Client,
on port 8010. I have two different host names which are pointed to the same
IP address. I'll call them name1.domain.com:8010 and name2.domain.com:8010.
These successfully resolve to the appropriate web root within Active4D,
when I put those two urls in my web browser.

I set up my proxy in nginx two different ways, and neither of them
consistently resolve to the right website:

1: I setup one upstream server and accessed it through proxy_pass from both
server definitions:

upstream 4d_webclient{
server 127.0.0.1:8010;
}

server {
listen 80;
server_name name1.domain.com;

location / {
   root   /location_1
   proxy_pass http://4d_webclient;
   ...
}
}

server {
listen 80;
server_name name2.domain.com;

location / {
   root /location_2
   proxy_pass http://4d_webclient;
   ...
}
}

Please note that I'm just trying to get the reverse proxy to work. Once I
do that, I'll add SSL requirements, and all the necessary rewrites to make
sure people are redirected to our secured interface.

The second way I did it was to create a different upstream for each
website, using the DNS names for each, and then calling the appropriate
upstream proxy from each server definition:

upstream name1_server{
server name1.domain.com:8010;
}

upstream name2_server{
   server name2.domain.com:8010;
}

... (the same as above, except replacing 4d_webclient with name1/2_server
at proxy_pass)

Both ways gave the same results. After restarting my Web Client and nginx
(just to make sure I start from a clean slate), both name1.domain.com and
name2.domain.com resolve to the name1:domain.com:8010 website. However, if
I go to name2.domain.com:8010, then both name1.domain.com and
name2.domain.com will resolve to that website. Going to
name1.domain.com:8010 then causes both portless addresses to resolve there,
until I visit name2.domain.com:8010 directly again.

Obviously, I don't understand the relationship between how nginx deals with
upstream declarations and how that passes along to Active4D. Any help would
be appreciated.

Doug

On Fri, Oct 24, 2014 at 1:31 PM, Balinder Walia 
wrote:

> and then test by sending 100s of requests at the same time using Apache
> benchmark:
>
> Example type:
>
> $ ab -n 1000 -c 5 http://www.domain.com
>
> from Mac/Linux Terminal
>
> Balinder
>
> On 24 October 2014 19:26, Balinder Walia  wrote:
>
> > Brad,
> >
> > There are many ways to achieve it. Simplest is probably to count no of
> > processes and busyness in 4D and if too busy or near enough to use all
> > memory then get 4D to create 502.html file with appropriate message. Or
> > create if 4D is dead just leave one 502.hm there as a default option.
> >
> >
> > In JSON's script above see
> >
> >  proxy_next_upstream error timeout invalid_header http_500
> > http_502 http_503 http_504;
> >
> > what that means if proxy failed then intercept the error and show default
> > message in 502.htm
> >
> > So you would something like:
> >
> > in the main proxy block then
> >
> > proxy_intercept_errors on;
> > error_page 403 404 502 504 = @fallback;
> > break;
> >
> > and separate block what to do if proxy failed
> >
> > location @ fallback {
> > proxy_set_header X-Real-IP $remote_addr;
> > proxy_set_header Host $host;
> > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> >
> > root html;
> > index.hm which can have 502 error message or default message about 4d
> too
> > busy!
> > break;
> > }
> >
> > To be honest in this day and age we should never have a downtime and
> > customer should never see this unavailable error. they won't come back.
> So
> > I appreciate we should have a nice message on fail but setup the system
> so
> > it never fails.
> >
> >
> > On 24 October 2014 18:15, Perkins, Bradley D  wrote:
> >
> >> I'd also like to say thanks for all of these. I still use Apache but
> >> wondered about NGINX.
> >>
> >> >Any suggestions on making the Nginx server a fail-over to a hung 4D
> >> >server?
> >>
> >> Since I'm unfamiliar with NGINX, this may not help at all, but under
> >> Apache I always modify the error files for 502 (or 503?) errors so that
> >> they contain user friendly "site unavailable" messages. Those files get
> >> served when Apache can't reverse proxy to 4D.
> >>
> >> -- Brad
> >>
> >>
> >> **
> >> See how easy it is to extend your 4D solutions to Web and mobile. New
> >> opportunities await you with 4D v14!
> >>
> >> 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 - replace string, odd slowness

2017-09-29 Thread Chip Scheide via 4D_Tech
v13 Mac on OS X 10.9.5

I have the some code testing a utility.
I create some text, and then replace specific characters in the text 
(see below)
When I replace a marker with Carriage return, no problem
When I replace CR with linefeed, no problem
when I replace linefeed with CrLf REPLACE STRING takes many times as 
long to complete on otherwise the same text...

any Ideas??
snippets of code follows

C_TEXT($Text_var;$Cr;$Lf;$CrLf;$Other)

$Text_var:="a"*100+$Other+"B"*100+$Other+"C"*100+$Other
$Text_var:=Replace string($Text_var;$Other;$Cr)  //instaneous
$Text_var:=Replace string($Text_var;$Cr;$Lf)  //instaneous
$Text_var:=Replace string($Text_var;$Lf;$CrLf)  //takes 6639 millisecond

Thanks
Chip
---
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: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

OPEN COLOR PICKER or OBJECT SET RGB COLORS inconsistencies

2017-09-29 Thread Kirk Brooks via 4D_Tech
Hi folks,

I was playing with using the OPEN COLOR PICKER command for the first time.
Reasonably cool feature that really is only missing a way to close the
window programmatically and get the selected value directly. But it's way
better than the rgb sliders we had to use for years.

I used a modified version of the approach detailed in this tech tip
. The process is to have an obscure text
area on your form, open the color picker for it to set the background color
and then use OBJECT GET RGB COLORS to get that color since you can't
capture the picked color value directly.

All seemed well and I had a nice display of the selected color and its hex
string. Until I clicked over to the listing of web safe colors in the
picker. The thing is each of those colors lists its hex value and the hex
string I calculated was not the same. Sometimes really off.

For example, hex color selected  -->  color reported:

red: #FF ( or 0x00FF in 4D) --> #FF2600
'burnt orange': #FF6600 --> #FF7C00

light gray: #CC  -->  #D6D6D6

black and white are correctly reported


My first suspicion was the function to string the RGB color to hex. But
this is just the String function. I also wondered if my Hex to longint
function might be wrong even though it's not being used. It's one of the 3
examples of how to do that on the KB and they all give the same answer (but
probably vary in the time they take).

So that leaves a couple of possibilities:

   1. the color returned by OPEN COLOR PICKER is not exactly the value
   selected
   2. the color set by OPEN COLOR PICKER is not exactly the value selected

I can't determine which because I can't know the actual value the color
picker is installing in the form object. I do know that OBJECT SET RGB
COLOR is consistent with OBJECT GET RGB COLORS because if I set and
retrieve a value they are the same. So I think these two methods do what
they say they do.

When I set the object color from the hex string and drag the color picker
over the form area the differences look more pronounced on dark colors. But
trying to quantify these sort of differences without a colorimeter is not
reliable.

Anyone else seen this? Any ideas? Worth filing a bug report?

​This is v16.2 (32 bit) on macos Sierra. ​

-- 
Kirk Brooks
San Francisco, CA
===

*The only thing necessary for the triumph of evil is for good men to do
nothing.*

*- Edmund Burke*
**
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: Love 4D's math interpretation...

2017-09-29 Thread Tom Dillon via 4D_Tech
Wayne Stewart via 4D_Tech wrote:

>It's a feature!

Yeah, you can use it to tell whether or not a DB is compiled. But, I guess "Is 
compiled mode" is probably easier.

-- 
   --
   Tom Dillon   825 N. 500 W.
   DataCraft   Moab, UT 84532
   tomdil...@datacraft-inc.com   720/209-6502
   --
 Computers are like air conditioners. They don't work if you
 open up windows. -- Linus Torvalds
   --


**
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: Love 4D's math interpretation...

2017-09-29 Thread David Adams via 4D_Tech
Crap, it's documented. And, as we all know, 4D doesn't document or discuss
things that might change in future versions for fear of frightening the
children. But this is documented, so I guess we're safe relying on it as is
;-)
**
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-29 Thread Two Way Communications via 4D_Tech
Hi Keisuke, thanks for pointing this out. 

As I was looking for a way to list the contents of the menus as defined in the 
menu editor, I wasn’t looking at the commands to create dynamic menus…. 

… my bad ;-)

Regards,

Rudy Mortier
Two Way Communications bvba  -



> On 28 Sep 2017, at 00:20, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> you could also use Create menu($) to duplicate it in memory.
> 
>> 2017/09/28 1:20、Two Way Communications via 4D_Tech <4d_tech@lists.4d.com> 
>> のメール:
>> I eventually realised that I need to call SET MENU BAR($i) for every menu 
>> bar I want to get the menus and menu items for,
> 
> 
> 
> 
> **
> 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: Love 4D's math interpretation...

2017-09-29 Thread Wayne Stewart via 4D_Tech
It's a feature!


Regards,

Wayne


[image: --]
Wayne Stewart
[image: http://]about.me/waynestewart



On 29 September 2017 at 19:18, Arnaud de Montard via 4D_Tech <
4d_tech@lists.4d.com> wrote:

>
> > Le 28 sept. 2017 à 23:53, Randy Engle via 4D_Tech <4d_tech@lists.4d.com>
> a écrit :
> >
> >
> > Whether it's a bug or not in 4D...
>
> a documented bug is no longer a bug  😁
>
> --
> Arnaud de Montard
>
>
>
> **
> 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: Love 4D's math interpretation...

2017-09-29 Thread Arnaud de Montard via 4D_Tech

> Le 28 sept. 2017 à 23:53, Randy Engle via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> 
> Whether it's a bug or not in 4D... 

a documented bug is no longer a bug  😁

-- 
Arnaud de Montard 



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