RE: ON ERR CALL

2023-08-16 Thread lists via 4D_Tech
Look at the GET LAST ERROR STACK command.

Also, these variables will give you that information also:

Error (#)
Error method
Error Line

Cheers,


-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of stardata.info via 
4D_Tech
Sent: Wednesday, August 16, 2023 10:07 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: stardata.info 
Subject: ON ERR CALL

Hi All,

I use 4DV16 on windows.

I need to know the name of the method that call ON ERR CALL 
("ERRORMETHOD") command, into the method "ERRORMETHOD".

Is possible?

Thanks

/Ferdinando/
**
4D Internet Users Group (4D iNUG)
New Forum: https://discuss.4D.com
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)
New Forum: https://discuss.4D.com
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: v18 Background Image / Win32API

2021-06-25 Thread lists via 4D_Tech
Win32api is alive and well.  Download the latest version 
https://github.com/OrchardSoftware/4D-Win32API  and read the docs...

Lahav

   

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Keisuke Miyako via 
4D_Tech
Sent: Wednesday, June 23, 2021 6:44 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Keisuke Miyako 
Subject: Re: v18 Background Image / Win32API

the plugin replaces the background by intercepting the PAINT event for the MDI 
window.

4D is Altura-free since v17

https://blog.4d.com/complete-windows-64-bit-product-line-is-now-altura-free/

which drastically changes how (or if at all) plugins can "hack" the GUI.

I think it might just be better to migrate the application to SDI mode if you 
don't like the MDI window.

https://doc.4d.com/4Dv18/4D/18/SDI-mode-on-Windows.300-4575510.en.html

2021/06/24 7:38、Ben Sokal via 4D_Tech 
<4d_tech@lists.4d.com>のメール:
Since Win32API now seems to be obsolete, how can we easily set the background 
image ala gui_LoadBackground? I tried the Miyako replacement on github at 
https://github.com/miyako/4D-Win32API/releases/tag/8.3.v18 but it did not seem 
to work (I think the command ran but the background did not change). How have 
you handled setting a background image change after upgrading 4D to latest 
versions?
**
4D Internet Users Group (4D iNUG)
New Forum: https://discuss.4D.com
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)
New Forum: https://discuss.4D.com
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: PING of life...

2021-01-16 Thread lists via 4D_Tech
" back in 21016"???   Is that back to the future? 
  

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of SPC via 4D_Tech
Sent: Saturday, January 16, 2021 2:53 PM
To: 4d_tech@lists.4d.com
Cc: SPC 
Subject: Re: PING of life...

Thanks all for your prompt and thorough responses.  That is one of the reasons 
I like this forum.  I have only posted once on the 4D Forums, back in 21016.  
Granted, my query was pretty simplistic - having trouble with 4DPop components. 
 But in 4 years I have yet to receive one reply.  By contrast, I have always 
found this community to be responsive and helpful, extremely generous in many 
instances.  

Cheers all!

Steven Prins
Santa Fe, NM


> On Jan 15, 2021, at 8:51 AM, 4d_tech-requ...@lists.4d.com wrote:
> 
> Send 4D_Tech mailing list submissions to
>   4d_tech@lists.4d.com
> 
> To subscribe or unsubscribe via the World Wide Web, visit
>   https://lists.4d.com/mailman/listinfo/4d_tech
> or, via email, send a message with subject or body 'help' to
>   4d_tech-requ...@lists.4d.com
> 
> You can reach the person managing the list at
>   4d_tech-ow...@lists.4d.com
> 
> When replying, please edit your Subject line so it is more specific 
> than "Re: Contents of 4D_Tech digest..."
> 
> 
> Today's Topics:
> 
>   1. Re: PING of life... (John DeSoi)
>   2. Re: PING of life... (Neil Dennis)
>   3. 4D Forum preferences setup (David Garrard)
>   4. Re: PING of life... (Janet Jonas)
>   5. Re: PING of life... (THOMAS BENEDICT)
>   6. Re: PING of life... (Janet Jonas)
>   7. Time to subscribe to e-Node Partner license for your 4D
>  professional tools (Philippe Ganter)
>   8. Re: PING of life... (Marcus Straßmann)
>   9. Re: PING of life... (Jeremy Roussak)  10. Re: PING of life... 
> (Arnaud de Montard)
> 
> 
> --
> 
> Message: 1
> Date: Thu, 14 Jan 2021 14:13:58 -0600
> From: John DeSoi 
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Subject: Re: PING of life...
> Message-ID: <7d2c3379-aaf1-4289-afc5-705c7f0b3...@pgedit.com>
> Content-Type: text/plain; charset=us-ascii
> 
> Step 1 is to create an account on the forum if you don't have one. Then login 
> and click on your user account icon at the top right. The rightmost icon in 
> this popup (looks like a person) is for Preferences. Then click "Preferences" 
> in the sublist.
> 
> Under Notifications/Categories on the left, select which categories you want 
> to watch and which ones to mute. I'm watching Feature Request, Beta, and 
> English Community. All the non-English communities are muted.
> 
> Then click on Emails on the left. Check the option for "Enable mailing list 
> mode".
> 
> John DeSoi, Ph.D.
> 
> 
>> On Jan 14, 2021, at 11:50 AM, SPC via 4D_Tech <4d_tech@lists.4d.com> wrote:
>> 
>> Can anyone add to what John advised regarding having the Discussions and 
>> Forum content come to me via e-mail.  I have not received a forum e-mail to 
>> reply to.
> 
> 
> 
> --
> 
> Message: 2
> Date: Thu, 14 Jan 2021 14:50:41 -0700
> From: Neil Dennis 
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Subject: Re: PING of life...
> Message-ID: <76fd99eb-842c-40b0-bc87-298157d7a...@greatext.com>
> Content-Type: text/plain; charset=us-ascii
> 
>> Under Notifications/Categories on the left, select which categories you want 
>> to watch and which ones to mute.
> 
> I just implemented the muted options, thank you for pointing these out 
> :)
> 
> Neil
> 
> 
> 
> --
> 
> Message: 3
> Date: Fri, 15 Jan 2021 07:55:55 +0800
> From: David Garrard 
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Subject: 4D Forum preferences setup
> Message-ID:
>   
> Content-Type: text/plain; charset="UTF-8"
> 
>  RE:  Can anyone add to what John advised regarding having the 
> Discussions and Forum content come to me via e-mail.
> 
> After logging into the 4D Forum, you can:
> 
> 1) Click on your Profile icon in the upper right.
> 2) Click on the small "head and shoulders" icon just below it.
> 3) Click on "Preferences".
> 4) On the left hand side of the screen click on "Categories" in the 
> "Notifications" block.
> 5) Place your mouse in the "Watched", "Tracked" etc., fields and 
> choose "English Community", removing others you do not wish to receive.
> 
> I still have not figured out how to get a digest instead of individual 
> emails.  Does anyone know how?
> 
> --
> David Garrard
> 
> Lend to entrepreneurs around the world - as little as $25 can make a
> difference:
> http://www.kiva.org/invitedby/dgarrard3033/for/856372
> 
> 
> --
> 
> Message: 4
> Date: Thu, 14 Jan 2021 19:59:01 -0800
> From: Janet Jonas 
> To: 4d_tech@lists.4d.com
> Cc: Janet Jonas 
> Subject: Re: PING of life...
> Message-ID: <2b9c7f44-7539-4123-9204-c174cb477...@prcousa.com>
> Content-Type: text/plain; charset=utf-8
> 
> I signed up for the forum and had both of 

RE: PING of life...

2021-01-13 Thread lists via 4D_Tech
I'm not on here, so I wouldn't know , and Jörg, carful with labeling us 
dinosaur/old timers, we are just well seasoned.

Lahav

   

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of THOMAS BENEDICT via 
4D_Tech
Sent: Wednesday, January 13, 2021 3:13 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: THOMAS BENEDICT 
Subject: Re: PING of life...

Yeah, I still monitor this list, but there is very little activity. And if 
there’s no activity, what’s the point?

I actually like the new discuss forum. In fact, I like it a lot. I like the 
ability to post pictures and formatted code. I also like that there are lots of 
engaged 4D developers, old and new, posting regularly there. But most 
especially I like that lots of 4D Inc folks are there. 

following the slogan “What happens in/on iNUG stays in/on iNUG”?

I must have missed an important episode here, because I don’t understand what 
that statement means. Was there a controversy at some point? Was it recent? Or 
years ago?

Tom Benedict

On Jan 13, 2021, at 04:32, Jörg Knebel via 4D_Tech <4d_tech@lists.4d.com> wrote:

G’day,

Are here still enough dinosaur/old timers present to have some decent 
discussions without that white noise and smart-arse newbies in the forum?

I’m following the lead of my neighbour David Adams and don’t participate in the 
forum any more.

Question is, are there other oldies willing to participate WITHOUT feeding 
anything into the forum(s) following the slogan “What happen in/on iNUG stays 
in/on iNUG”?

Cheers
Jörg

> On 01/13/2021 4:32 AM Jörg Knebel via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
>  
> G’day,
> 
> Are here still enough dinosaur/old timers present to have some decent 
> discussions without that white noise and smart-arse newbies in the forum?
> 
> I’m following the lead of my neighbour David Adams and don’t participate in 
> the forum any more.
> 
> Question is, are there other oldies willing to participate WITHOUT feeding 
> anything into the forum(s) following the slogan “What happen in/on iNUG stays 
> in/on iNUG”?
> 
> 
> Cheers
> Jörg
**
4D Internet Users Group (4D iNUG)
New Forum: https://discuss.4D.com
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)
New Forum: https://discuss.4D.com
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: Pluggers XL_Plugin Format Question

2020-05-28 Thread lists via 4D_Tech
I'll second that, money well spent

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Douglas von Roeder 
via 4D_Tech
Sent: Thursday, May 28, 2020 9:12 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Douglas von Roeder 
Subject: Re: Pluggers XL_Plugin Format Question

Ken:

Lahav’s example should get you on the right track and Kirk’s advice is well 
taken. Rob has been very helpful answering my questions on the plugin.

"I'm taking a look at buying the Pluggers XL_Plugin and most of my test went 
very quickly.  Looks like a spectacular plugin."
I agree. The XL Plugin is an excellent product.

--
Douglas von Roeder
949-910-4084


On Thu, May 28, 2020 at 3:57 AM Ken Eyring via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> Awesome, thank you!
>
>
>
> On 05/28/20 1:46 AM, lists via 4D_Tech wrote:
> > Ken,
> >
> > You build the format and assign the different attributes to it (one 
> > of
> which can be the locked flag, a font etc).
> >
> > $ YourDefinedFormat:=xlBookAddFormat ($xlBook) $font:=xlBookAddFont 
> > ($xlBook) xlFormatSetFont ($YourDefinedFormat;$font) xlFontSetName 
> > ($font;"Arial") xlFontSetSize ($font;10) xlFormatSetLocked( 
> > $YourDefinedFormat; 1 )
> >
> > Then, when you assign a cell value, you also assign the format as in:
> >
> > xlSheetSetCellNumber ($sheet;$row;$col;$cellData;$YourDefinedFormat)
> >
> > HTH
> >
> > Lahav
> >
> **
> 4D Internet Users Group (4D iNUG)
> New Forum: https://discuss.4D.com
> 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)
New Forum: https://discuss.4D.com
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)
New Forum: https://discuss.4D.com
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: Pluggers XL_Plugin Format Question

2020-05-27 Thread lists via 4D_Tech
Ken,

You build the format and assign the different attributes to it (one of which 
can be the locked flag, a font etc).

$ YourDefinedFormat:=xlBookAddFormat ($xlBook)
$font:=xlBookAddFont ($xlBook)
xlFormatSetFont ($YourDefinedFormat;$font)
xlFontSetName ($font;"Arial")
xlFontSetSize ($font;10)
xlFormatSetLocked( $YourDefinedFormat; 1 )

Then, when you assign a cell value, you also assign the format as in:

xlSheetSetCellNumber ($sheet;$row;$col;$cellData;$YourDefinedFormat)

HTH

Lahav


-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Ken Eyring via 4D_Tech
Sent: Wednesday, May 27, 2020 8:55 PM
To: 4d_tech@lists.4d.com
Cc: Ken Eyring 
Subject: Re: Pluggers XL_Plugin Format Question

Thanks for responding Doug.

I looked at the code but did not see anything that jumped out at me regarding 
formatting.

I look forward to seeing your sample code when you have a chance!  Very much 
appreciated!

Ken



On 05/27/20 9:41 PM, Douglas von Roeder via 4D_Tech wrote:
> Ken:
> 
> I haven’t used that particular format but I suspect that it is used 
> like the other formats. If you haven’t created formats, check the code 
> in the demo. It’s not extensive but, if you hold your head just right, 
> things will make sense.
> 
> At the moment, I’m away from a computer but I’ll post some code in the AM.
> 
> On Wed, May 27, 2020 at 6:03 PM Ken Eyring via 4D_Tech 
> <4d_tech@lists.4d.com>
> wrote:
> 
>> I'm taking a look at buying the Pluggers XL_Plugin and most of my 
>> test went very quickly.  Looks like a spectacular plugin.
>>
>> It was real easy to open a spreadsheet and insert values into 
>> specific cells.
>>
>> I ran into some confusion though, when I tried to set a cell's 
>> format, e.g. to Locked, or change the font name or font size, etc...
>>
>> Here are the instructions for xlFormatSetLocked, but I'm not sure 
>> what to pass in:
>>
>> xlFormatSetLocked( format ; locked )
>> → longint → integer
>> Sets the locked protection property: 1 - true, 0 - false.
>>
>> I expected to define a sheet, row and column to identify the cell I 
>> wanted to set the format for - but I don't see how to define which 
>> cell I want to affect.
>>
>> If someone wouldn't mind sending a simple snippet of code that shows 
>> how to set a specific cell's format using this plugin I would really 
>> appreciate it.
>>
>> Thanks,
>> Ken
>>
>> *
>> *
>> 4D Internet Users Group (4D iNUG)
>> New Forum: https://discuss.4D.com
>> 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)
New Forum: https://discuss.4D.com
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)
New Forum: https://discuss.4D.com
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: Generic code for entity selection projection

2020-05-11 Thread lists via 4D_Tech
Steve,

One way to do it is a bit convoluted, but will do what you want:

$Params:=split string($YourText;".")
Case of
 :($Params.length=1)
$collection:=$employees[$Params[0]]
:($Params.length=2)
$collection:=$employees[$Params[0]] [$Params[1]]
:($Params.length=3)
$collection:=$employees[$Params[0]] [$Params[1]] ]] [$Params[2]]
:($Params.length=4)
$collection:=$employees[$Params[0]] [$Params[1]] ]] [$Params[2]] ]] [$Params[3]]
End case

Not pretty, but effective...

Cheers,

Lahav



-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Steve Slanec via 
4D_Tech
Sent: Monday, May 11, 2020 10:04 PM
To: 4d_tech@lists.4d.com
Cc: Steve Slanec 
Subject: Generic code for entity selection projection

I'm trying come up with generic code that produces a projection from an entity 
selection, and I think must be missing something obvious.  I’d like to perform 
the following statement:

$collection:=$employees.company.country

But as generic code. I want to be able to pass the ORDA path “company.country” 
as a text variable so that I can change it at runtime.

Obviously, using square bracket notation doesn’t work because square brackets 
for entity selections are used for indexes:

$collection:=$employees[“company.country”]  // Syntax error

So how can I do this?

I guess I could write a method that splits the ORDA path into tokens, examines 
each token individually, and traverses through relations if the token kind is a 
“relation" until we get to the last token, whose kind must be “storage".  But 
I’m hoping I’m just being ignorant - it seems like a lot of work for doing what 
object notation does so simply and elegantly.

Using 4D v18, macOS 10.14

Thanks for any advice!

- Steve



Steve Slanec
Slanecon Digital

**
4D Internet Users Group (4D iNUG)
New Forum: https://discuss.4D.com
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)
New Forum: https://discuss.4D.com
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: Object notation replacement for use of Self in a script — v18

2020-05-06 Thread lists via 4D_Tech
Bernard,

This works perfectly fine until you use an object member as your data source.  
Once you do that, the Object get pointer command will return a nil pointer.

In your example, put Form.Note as your data source (Variable or Expression), 
run it and see what you get

Regards,

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Bernard Escaich via 
4D_Tech
Sent: Wednesday, May 6, 2020 2:16 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Bernard Escaich 
Subject: Re: Object notation replacement for use of Self in a script — v18

Why not use Form event.objectName ?

I find it very useful ; I use it and write in form method :

Case of
   :(Form event.code=On data change)
  Case of
 :(Form event.objectName="Name)
Object get pointer(Object named;"Name")->:=MyMethodUppercase( 
Object get pointer(Object named;"Name")->)
 :(Form event.objectName="Address)
Object get pointer(Object named;"Address")->:=MyMethodUppercase( 
Object get pointer(Object named;"Address")->)
 :(Form event.objectName="Form.Note)
Object get pointer(Object named;"Form.Note")->:=MyMethodUppercase( 
Object get pointer(Object named;"Form.Note")->)
   End case
End case

Two solutions for MyMethod :
- if used elsewhere, use a method (waiting for classes)
- if used locally, made a call to form method : Execute method(Current method 
name;….

Cordialement,

Bernard Escaich



> Le 29 avr. 2020 à 19:15, lists via 4D_Tech <4d_tech@lists.4d.com> a écrit :
> 
> OK, so can we get a real example of how to replace the *old* way with the 
> new?  In a case where there are several entry objects:
> 
> Form.Name
> Form.Address
> Form.Note
> 
> I want to enforce a proper uppercase/lowercase on all three, so in the old 
> days I created an object, set the method to "UpperLower(self)", duplicated it 
> three times, change the object name and I'm done.  For simplicity sake, lets 
> say that UpperLower simply do $1->:=Uppercase($1->).
> 
> How would you do the same while using object notation instead of a variable, 
> dynamic or not?

**
4D Internet Users Group (4D iNUG)
New Forum: https://discuss.4D.com
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)
New Forum: https://discuss.4D.com
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: Object notation replacement for use of Self in a script — v18

2020-05-02 Thread lists via 4D_Tech
I've created a feature request on the new forum.  Voting is open.

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Kirk Brooks via 
4D_Tech
Sent: Friday, May 1, 2020 3:13 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Kirk Brooks 
Subject: Re: Object notation replacement for use of Self in a script — v18

Lahav,

On Fri, May 1, 2020 at 1:51 PM lists via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> I have one word that will do all of what we are after :   "This"
>
Damn - I wish I'd said that.


> Again, I don't think anyone on this thread is complaining, we are just 
> trying to understand how to use the new functionality to do what we need to.
>
I don't either. I probably overthink things like this or project my own 
experience on it too much with the focus on the conceptual stuff. But I read a 
lot of posts here and on the Forum and the common thread, to me, seems to be 
folks attempting to use ORDA like it's an extension of classic.
It was incredibly frustrating for me until I got past thinking about ORDA from 
a classic perspective.

Cheers, will probably see you later today.
>
Hope so.

--
Kirk Brooks
San Francisco, CA
==
**
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: Object notation replacement for use of Self in a script — v18

2020-05-01 Thread lists via 4D_Tech
Kirk,

I have one word that will do all of what we are after :   "This"

It works in listbox, which is a form object, any reason it can't be extended to 
other form objects?

Again, I don't think anyone on this thread is complaining, we are just trying 
to understand how to use the new functionality to do what we need to.

We need to interact with the users through some entry areas, call it objects, 
fields, variables. Whatever. And sometimes do silly things like verification of 
values, formatting to a certain standard etc.From everything that was 
presented so far, there is no way to utilize the new methodology (call it ORDA, 
dot notation whatever) as a data source of an entry area without using some 
part of classic 4D.  Coming up with all sorts of workarounds is fine, but it is 
still a workaround.

Cheers, will probably see you later today.

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Kirk Brooks via 
4D_Tech
Sent: Friday, May 1, 2020 1:21 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Kirk Brooks 
Subject: Re: Object notation replacement for use of Self in a script — v18

Chris,

On Tue, Apr 28, 2020 at 10:53 PM Chris Belanger via 4D_Tech < 
4d_tech@lists.4d.com> wrote:

> Generic programming of vars on a form is very complicated when one 
> uses object attributes for the data source.
>
> For example, on screen you make a simple text input object named 
> “enCompany”. It’s data source is Form.en_Company.Name (  i.e.
> [Company]Name  )
> In ‘classic 4d”, where the data source would be [Company]Name, one can 
> code its script:
>
TRIM ( Self )

And TRIM would simply take a POINTER, and you can perform operations on the
> data that the user typed into that field. (Such as trim off leading & 
> trailing spaces).
>
So what does Self actually point to? The object on the form the field is 
displayed in or the actual field in the database?

The two are not the same thing. In classic 4D that distinction is never really 
apparent to us. It didn't need to be and we didn't want to have to deal with 
it. It was part of the how we perceived working with 4D: a field on a form 
_was_ the data. It's also why 4D forms from ages past are so overloaded with 
data processing being done on the form itself instead of separated into more 
independent modules. IP and process vars enabled that trend even more. This is 
a main reason opening up one of these old databases in v18 and attempting to 
change something is so fraught. But I digress. With modern 4D tools you just 
don't do things that way anymore.

Working with ORDA I rarely find a pointer a good solution to anything except 
managing form objects like buttons. We are saddled with some unfortunate 
nomenclature here because a 'form object' has nothing to do with an object in 
Form. 'Form objects' are those named widgets on the form.
They _may_ be populated with data from something in Form, or a variable, or a 
list box and so on.

A big conceptual difference between classic 4D and modern 4D is the distinction 
between a form object and the data it presents is explicit. So when I set the 
data source for an input object to be

Form.myEntity_o.Name

where myEntity_o is a reference to an entity in Company the actual data and the 
form object are no longer implicitly the same thing like they are in classic 
4D. I have a reference to the entity and I have a form object. They are two 
different things.

I can't get a pointer to the form object in this case. Why not?
First, what do I want to do with it? If I want to manage the form object 
itself, visibility, enterability, etc., I don't need a pointer, I can just use 
the object name.
If I want to do something with the data, as you do, the pointer won't work 
because there are no pointers to object references. Why not? I'm sure there are 
technical reasons but they don't matter to me because you don't need it. You 
don't need it because you have a reference: myEntity_o. If you want to change 
the data you do that with the reference - not through whatever that data 
happens to be displayed in.

This is a fundamental, conceptual difference between using ORDA and classic 4D.

In classic 4D we have tables, records, fields and pointers to reference them.
In ORDA we have datastores, dataclasses, entities, properties and we use 
references.


In the example of the name field you can still put code in the form object to 
react to On Data Change. And you can still pass data to a generic method to 
manage it. Two ideas come to mind:
1) method takes an entity

// myMethod1 (entity)

// $1 is  a Company entity - check the name, address, etc. for proper formatting

2) method is a function

Form.myEntity_o.Name:=myMethod2(Form.myEntity_o.Name)


Is the form you are working with an existing form or one you created from 
scratch?
I find it much easier to use the new approaches on new forms. If not by totally 
rewriting them then by separating out the new work into a subform.
That 

RE: Object notation replacement for use of Self in a script — v18

2020-04-30 Thread lists via 4D_Tech
Doug,

Just for discussion sake, I'd say that a good portion of long established 
systems have 100% of their space already occupied by classic code

The use of the Form object offers so much that I am resigned to let go of some 
generic code, not happy, but willing to pay that price.

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Douglas von Roeder 
via 4D_Tech
Sent: Thursday, April 30, 2020 5:51 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Douglas von Roeder 
Subject: Re: Object notation replacement for use of Self in a script — v18

Randy:

"If there is such an issue trying to get object values to work right, what’s 
the reason to use them at all?”
The new language is extremely powerful and I found it quite easy to pick up 
(mostly). The fact that it doesn’t give us 100% backward compatibility is not 
unexpected.

"I know everyone is all excited about object notation, but it’s not mandatory.  
Why should we even consider using it if doesn’t do what we need?  I’m sure 
there are some areas where it’s useful, but it sounds like there’s a lot where 
it isn’t.  Am I missing something”
“[doing everything that] we need” is a pretty high bar, wouldn’t you agree? For 
me, I’ve been using ObjectTools + constructors since the late 90’s, biding my 
time for 4D to adopt objects/object notation/OOP. At this point, I’ll take what 
I can get.

While I was quite not-happy with this particular limitation (I have forms with 
hundreds of fields that use Object name that are used with Object get pointer), 
I think the last paragraph of Miyako’s posting, above, is sound advice - "I 
would focus my use of object notation to areas where classic code could not go, 
not spaces already occupied by classic code."

--
Douglas von Roeder
949-910-4084


On Thu, Apr 30, 2020 at 3:03 PM Randy Kaempen via 4D_Tech < 
4d_tech@lists.4d.com> wrote:

>
> > On Apr 30, 2020, at 4:43 PM, lists via 4D_Tech 
> > <4d_tech@lists.4d.com>
> wrote:
> >
> > OK, based on this design, we are back to using variables (or dynamic
> variables) for data entry of anything that needs any kind of 
> processing done to it after an entry, having to load the values to 
> these data entry objects when loading the form, and copying the values 
> back when we want to save any user changes.
> >
> > OR
> >
> > We can use the Form.XXX notation to gain the advantage of that new 
> > nifty
> option, but lose the generic coding ability.
> >
> > I'd say it's a choice, but the lack of the ability to address an 
> > object
> from within generically definitely seems to be a glaring omission...
>
> If there is such an issue trying to get object values to work right, 
> what’s the reason to use them at all?
>
> I know everyone is all excited about object notation, but it’s not 
> mandatory.  Why should we even consider using it if doesn’t do what we 
> need?  I’m sure there are some areas where it’s useful, but it sounds 
> like there’s a lot where it isn’t.  Am I missing something?
>
>
> Randy Kaempen
> Intellex Corporation
>
> **
> 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
**
**
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: Object notation replacement for use of Self in a script — v18

2020-04-30 Thread lists via 4D_Tech
OK, based on this design, we are back to using variables (or dynamic variables) 
for data entry of anything that needs any kind of processing done to it after 
an entry, having to load the values to these data entry objects when loading 
the form, and copying the values back when we want to save any user changes.

OR

We can use the Form.XXX notation to gain the advantage of that new nifty 
option, but lose the generic coding ability.

I'd say it's a choice, but the lack of the ability to address an object from 
within generically definitely seems to be a glaring omission...

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Keisuke Miyako via 
4D_Tech
Sent: Thursday, April 30, 2020 3:20 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Keisuke Miyako 
Subject: Re: Object notation replacement for use of Self in a script — v18

I can only share how I would design my user interface, but in short, I would 
not have this problem

> (Object get name).prettyFormat()

and here's why.

I see that the form object should either be bound to (=managed automatically by 
4D) or divorced from (managed by me) its data source.

the object name is only interesting to me for visibility, enable/disable, etc.
I would have some kind of naming convention to take advantage of the @ 
wildcard, but that's all.

as for the data source, if I wanted to implement some kind of rule on it, I 
would do so without the form object.

in other words, I would only use object notation on form objects that do not 
need to use form events.
in my opinion, any form object that do use a form event should not have object 
notation as their data source, since the event is attached to the form object 
and not the data source object.
there would be room for programming error if the same data source could be 
manipulated outside the form event.

same with the current item/position/selection property of the collection type 
listbox.
the properties only make sense in the context of zero-coding.
if I want to manage the binding by code, I would keep these properties empty.

classes are coming in 18 R3, but you can already create pseudo-classes by 
writing custom constructors that return an object with prefab properties and 
methods.

until the use of "This" is extended to text inputs and other form objects, I 
would not expose object notation (which implies that the target is an object) 
in any of my form objects, other than for form objects that exist purely for 
display purposes.

I would focus my use of object notation to areas where classic code could not 
go, not spaces already occupied by classic code. 

> On May 1, 2020, at 4:54, Chris Belanger via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> (Object get name).prettyFormatHow would that be achieved?

**
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: Object notation replacement for use of Self in a script — v18

2020-04-30 Thread lists via 4D_Tech
Indeed, if you are using a process or an IP variables to hold the entity (or 
object for that matter), you will get a pointer to that variable.  But if you 
are using the Form.XXX notation and eliminate the use of process or IP 
variables, the pointer always return Nil, so it's useless.

The question remains, what is the right "New World" approach to achieve 
functionality that seems to have no work around.

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of kculotta via 4D_Tech
Sent: Thursday, April 30, 2020 3:03 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: kculotta 
Subject: Re: Object notation replacement for use of Self in a script — v18

Sorry, meant to say the pointer that results from the Object Get name is to the 
entity

> On Apr 30, 2020, at 3:59 PM, kculotta via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> 18.1
> 
> The pointer OBJECT Get name(Object current) is to the entity instead of the 
> to the entity attribute.
> 
> The field is eg, MyEntity.MyName, but the pointer to the form object 
> ends up being ->MyEntity
> 
>> On Apr 30, 2020, at 3:52 PM, lists via 4D_Tech <4d_tech@lists.4d.com> wrote:
>> 
>> Sorry, Are you saying that you can get a valid pointer with Object get 
>> pointer() on a dot notation object of a form?, if so what version?
>> 
>> Lahav
>> 
>> -Original Message-
>> From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of kculotta 
>> via 4D_Tech
>> Sent: Thursday, April 30, 2020 2:50 PM
>> To: 4D iNug Technical <4d_tech@lists.4d.com>
>> Cc: kculotta 
>> Subject: Re: Object notation replacement for use of Self in a script 
>> — v18
>> 
>> Yes, I'm using it, but it really seems like an artificial way to get an 
>> entity field's displayed contents.
>> 
>> I'll explore your example.
>> 
>> Keith - CDI
>> 
>>> On Apr 30, 2020, at 3:45 PM, lists via 4D_Tech <4d_tech@lists.4d.com> wrote:
>>> 
>>> Did you actually test this?, any kind of a get pointer on a form object 
>>> having a dot notation source will return a Nil pointer, regardless of the 
>>> name matching or not.
>>> 
>>> If you are using matched names, you could use the following:
>>> 
>>> Form[Object get name(object current)]:=DoWhatever(Form[Object get 
>>> name(object current)])
>>> 
>>> But that is not quite what we need to be truly generic
>>> 
>>> Lahav
>>> 
>>> -Original Message-
>>> From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of kculotta 
>>> via 4D_Tech
>>> Sent: Thursday, April 30, 2020 2:29 PM
>>> To: 4D iNug Technical <4d_tech@lists.4d.com>
>>> Cc: kculotta 
>>> Subject: Re: Object notation replacement for use of Self in a script 
>>> —
>>> v18
>>> 
>>> This example does not avoid having to carefully name form objects and the 
>>> form object must have "matching" variable and object names: variable 
>>> entity.MyName with its object name of  "MyName"
>>> 
>>> // the object method
>>> a_test (OBJECT Get name(Object current))
>>> 
>>> // a_Test
>>> $ent:=OBJECT Get pointer(Object named;$1)-> $s:=$ent[$1]
>>> ALERT($s)  // the value entered into the text area
>>> 
>>> Keith - CDI
>>> 
>>>> On Apr 30, 2020, at 2:54 PM, Chris Belanger via 4D_Tech 
>>>> <4d_tech@lists.4d.com> wrote:
>>>> 
>>>> I don’t wish to imply that I ‘prefer’ pointers; in fact, I am not using a 
>>>> single process variable, interprocess variable, or any other ‘vestiges’ of 
>>>> 4D Classic. I am ‘fully committed’ to object notation. I also use Storage 
>>>> extensively for system-wide values, and really love it.
>>>> The problem I describe is that I need a way to generically ‘get’ and ’set’ 
>>>> the value of an object (meaning an entry variable on the form).
>>>> 
>>>> 1) A variable is placed on the form. It’s “variable or expression” is:
>>>> Form.LB.Browser_JobForms.en_edit.RigFrom.  It has an object name of  
>>>> “enLSDFromRigDispatch”
>>>> 
>>>> I have given it this name because it gives me a simple methodology 
>>>> to SHOW/HIDE a whole group of objects on the screen with OBJECT SET 
>>>> VISIBLE(*; “enLSD@“;…)
>>>> 
>>>> Now I wish to use a standard project method to ‘pretty-format’ this 
>>>> variable.
>>>

RE: Object notation replacement for use of Self in a script — v18

2020-04-30 Thread lists via 4D_Tech
Sorry, Are you saying that you can get a valid pointer with Object get 
pointer() on a dot notation object of a form?, if so what version?

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of kculotta via 4D_Tech
Sent: Thursday, April 30, 2020 2:50 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: kculotta 
Subject: Re: Object notation replacement for use of Self in a script — v18

Yes, I'm using it, but it really seems like an artificial way to get an entity 
field's displayed contents.

I'll explore your example.

Keith - CDI

> On Apr 30, 2020, at 3:45 PM, lists via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> Did you actually test this?, any kind of a get pointer on a form object 
> having a dot notation source will return a Nil pointer, regardless of the 
> name matching or not.
> 
> If you are using matched names, you could use the following:
> 
> Form[Object get name(object current)]:=DoWhatever(Form[Object get 
> name(object current)])
> 
> But that is not quite what we need to be truly generic
> 
> Lahav
> 
> -Original Message-
> From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of kculotta via 
> 4D_Tech
> Sent: Thursday, April 30, 2020 2:29 PM
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Cc: kculotta 
> Subject: Re: Object notation replacement for use of Self in a script — 
> v18
> 
> This example does not avoid having to carefully name form objects and the 
> form object must have "matching" variable and object names: variable 
> entity.MyName with its object name of  "MyName"
> 
> // the object method
> a_test (OBJECT Get name(Object current))
> 
> // a_Test
> $ent:=OBJECT Get pointer(Object named;$1)-> $s:=$ent[$1]
> ALERT($s)  // the value entered into the text area
> 
> Keith - CDI
> 
>> On Apr 30, 2020, at 2:54 PM, Chris Belanger via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> I don’t wish to imply that I ‘prefer’ pointers; in fact, I am not using a 
>> single process variable, interprocess variable, or any other ‘vestiges’ of 
>> 4D Classic. I am ‘fully committed’ to object notation. I also use Storage 
>> extensively for system-wide values, and really love it.
>> The problem I describe is that I need a way to generically ‘get’ and ’set’ 
>> the value of an object (meaning an entry variable on the form).
>> 
>> 1) A variable is placed on the form. It’s “variable or expression” is:
>> Form.LB.Browser_JobForms.en_edit.RigFrom.  It has an object name of  
>> “enLSDFromRigDispatch”
>> 
>> I have given it this name because it gives me a simple methodology to 
>> SHOW/HIDE a whole group of objects on the screen with OBJECT SET 
>> VISIBLE(*; “enLSD@“;…)
>> 
>> Now I wish to use a standard project method to ‘pretty-format’ this variable.
>> With ‘4D Classic’ this is easily achieved by making a project method that 
>> takes a POINTER in $1. 
>> The OBJECT SCRIPT would be something simple, like:   
>> PRETTY_FORMAT(Self)
>> [PRETTY_FORMAT, given Self, would be able to get at the CONTENTS of 
>> the variable and do any formatting options needed]
>> 
>> With ‘4D DOT NOTATION’ …
>> —  How do I create a simple OBJECT SCRIPT that would do something 
>> similar to that in 4D Classic?  — I don’t feel that I should have to resort 
>> to using the ‘variable or expression’ name in every single script; because 
>> what happens if I change that variable for some reason and it totally screws 
>> up the object script? And it also makes it very complicated.
>> THE OBJECT METHOD should be something as simple as:
>> PRETTY_FORMAT ( Object Get Name )—— instead of Self
>> 
>> The PRETTY_FORMAT( ) should be able to get at and set the value of the form 
>> object from that name.
>> 
>> Alternatively, if one wants to not bother having scripts for every input 
>> variable that needs PRETTY_FORMAT, they could just do it in the FORM METHOD:
>> Case of
>> :( Form event code = on load ) 
>>  Form.col_toPrettyFormat:= new collection ( Object Name 1, Object Name 2 
>> ) …  // objects that need to be ‘Pretty Formatted'
>> 
>> : ( Form event code = on losing focus )
>>  $curObjectName:= Form Event.objectName
>>  … see if is in the list of .col_toPrettyFormat …
>>  PRETTY_FORMAT( $curObjectName )
>> 
>> …
>> 
>> So how would one implement something like:
>>  PRETTY FORMAT ( Object Get Name ) in a script; or   PRETTY FORMAT ( 
>> Form Event.objectName )
>> ???
>> 
>> Thanks,
>> Chris
>> 
>> p.s. what you descri

RE: Object notation replacement for use of Self in a script — v18

2020-04-30 Thread lists via 4D_Tech
Did you actually test this?, any kind of a get pointer on a form object having 
a dot notation source will return a Nil pointer, regardless of the name 
matching or not.

If you are using matched names, you could use the following:

Form[Object get name(object current)]:=DoWhatever(Form[Object get name(object 
current)])

But that is not quite what we need to be truly generic

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of kculotta via 4D_Tech
Sent: Thursday, April 30, 2020 2:29 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: kculotta 
Subject: Re: Object notation replacement for use of Self in a script — v18

This example does not avoid having to carefully name form objects and the form 
object must have "matching" variable and object names: variable entity.MyName 
with its object name of  "MyName"

// the object method
a_test (OBJECT Get name(Object current))

// a_Test
$ent:=OBJECT Get pointer(Object named;$1)-> $s:=$ent[$1]
ALERT($s)  // the value entered into the text area

Keith - CDI

> On Apr 30, 2020, at 2:54 PM, Chris Belanger via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> I don’t wish to imply that I ‘prefer’ pointers; in fact, I am not using a 
> single process variable, interprocess variable, or any other ‘vestiges’ of 4D 
> Classic. I am ‘fully committed’ to object notation. I also use Storage 
> extensively for system-wide values, and really love it.
> The problem I describe is that I need a way to generically ‘get’ and ’set’ 
> the value of an object (meaning an entry variable on the form).
> 
> 1) A variable is placed on the form. It’s “variable or expression” is:
> Form.LB.Browser_JobForms.en_edit.RigFrom.  It has an object name of  
> “enLSDFromRigDispatch”
> 
> I have given it this name because it gives me a simple methodology to 
> SHOW/HIDE a whole group of objects on the screen with OBJECT SET 
> VISIBLE(*; “enLSD@“;…)
> 
> Now I wish to use a standard project method to ‘pretty-format’ this variable.
> With ‘4D Classic’ this is easily achieved by making a project method that 
> takes a POINTER in $1. 
> The OBJECT SCRIPT would be something simple, like:   
> PRETTY_FORMAT(Self)
> [PRETTY_FORMAT, given Self, would be able to get at the CONTENTS of 
> the variable and do any formatting options needed]
> 
> With ‘4D DOT NOTATION’ …
> —  How do I create a simple OBJECT SCRIPT that would do something 
> similar to that in 4D Classic?  — I don’t feel that I should have to resort 
> to using the ‘variable or expression’ name in every single script; because 
> what happens if I change that variable for some reason and it totally screws 
> up the object script? And it also makes it very complicated.
> THE OBJECT METHOD should be something as simple as:
> PRETTY_FORMAT ( Object Get Name )—— instead of Self
> 
> The PRETTY_FORMAT( ) should be able to get at and set the value of the form 
> object from that name.
> 
> Alternatively, if one wants to not bother having scripts for every input 
> variable that needs PRETTY_FORMAT, they could just do it in the FORM METHOD:
> Case of
> :( Form event code = on load ) 
>   Form.col_toPrettyFormat:= new collection ( Object Name 1, Object Name 2 
> ) …  // objects that need to be ‘Pretty Formatted'
> 
> : ( Form event code = on losing focus )
>   $curObjectName:= Form Event.objectName
>   … see if is in the list of .col_toPrettyFormat …
>   PRETTY_FORMAT( $curObjectName )
> 
> …
> 
> So how would one implement something like:
>   PRETTY FORMAT ( Object Get Name ) in a script; or   PRETTY FORMAT ( 
> Form Event.objectName )
> ???
> 
> Thanks,
> Chris
> 
> p.s. what you describe, Keisuke, is in 4D v18r3; the ability to create 
> classes. That is very intriguing and a necessary development in 4D, as is 
> C_VARIANT( ).
> If one wanted to be able to have the script be:
> 
> (Object get name).prettyFormatHow would that be achieved?
> 
> Even if in the script one could use “This”, but it is null.
> I think that ’This’ should be perfectly valid to use in an OBJECT SCRIPT, in 
> a TRIGGER (referring to the record/entity being operated on), etc. But it is 
> not, and I have trouble understanding why not.
> 
> 
> 
> 
>> On Apr 29, 2020, at 10:14 AM, Keisuke Miyako via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> my feeling is that generic coding is very much possible in object 
>> notation, but we need to accept that the approach is different.
>> 
>> if you prefer to use pointers such as "Self", I think it's best to 
>> avoid object notation, at least if your goal is to make the code 
>> generic.
>> 
>> it's not a defect of object notation, but the way to write generic 
>> code is different.
>> 
>> if you want to make your code generic in object notation, I think you 
>> need to fully commit.
>> 
>> what I mean by that, is that you need to think of objects and classes, 
>> properties and methods.
>> 
>> basically, instead of
>> 
>> doIt(Self)
>> 
>> you would write
>> 
>> 

RE: Object notation replacement for use of Self in a script — v18

2020-04-29 Thread lists via 4D_Tech
OK, so can we get a real example of how to replace the *old* way with the new?  
In a case where there are several entry objects:

Form.Name
Form.Address
Form.Note

I want to enforce a proper uppercase/lowercase on all three, so in the old days 
I created an object, set the method to "UpperLower(self)", duplicated it three 
times, change the object name and I'm done.  For simplicity sake, lets say that 
UpperLower simply do $1->:=Uppercase($1->).

How would you do the same while using object notation instead of a variable, 
dynamic or not?

Thanks,

Lahav


-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Keisuke Miyako via 
4D_Tech
Sent: Wednesday, April 29, 2020 10:14 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Keisuke Miyako 
Subject: Re: Object notation replacement for use of Self in a script — v18

my feeling is that generic coding is very much possible in object notation, but 
we need to accept that the approach is different.

if you prefer to use pointers such as "Self", I think it's best to avoid object 
notation, at least if your goal is to make the code generic.

it's not a defect of object notation,
but the way to write generic code is different.

if you want to make your code generic in object notation, I think you need to 
fully commit.

what I mean by that, is that you need to think of objects and classes, 
properties and methods.

basically, instead of

doIt(Self)

you would write

$obj.doIt()

where the doIt() formula works on "This".

in my opinion, to take full advantage of object notation, it is pretty much 
mandatory to use 

This
Signal
Formula
Form

extensively, as well as 

Storage
New shared object
New shared collection

strategically.

simply replacing interprocess/process variables with object notation, may 
semantically look like object based coding, but at that level you may be losing 
major advantages of classic code, while not gaining much from what the new way 
of coding has to offer.

> On Apr 29, 2020, at 14:55, Chris Belanger via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> And v18r3 does not even have a solution to this in its documentation.

**
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: Using the length parameter in a ORDA query.

2020-04-27 Thread lists via 4D_Tech
Take a look at FORMULA and eval() syntax in queries...

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Eric Naujock via 
4D_Tech
Sent: Monday, April 27, 2020 10:54 AM
To: Technical iNug 4D <4d_tech@lists.4D.com>
Cc: Eric Naujock 
Subject: Using the length parameter in a ORDA query.

I am trying to preform an unusual query. I em effectively thing to find all the 
records in a parent where the parent has children. Any suggestions other than 
build a collection of records primary keys and use an “in” conditional. Which 
feels dirty.


This this case I have a table “cases” with records and a Child table with 
records. There is a one to many relationship from child to parent with a return 
path of “childReference_return” I am looking for all the parents who have 
children. There is more to the query but I am only looking at this parent child 
element.



I have tried using something like.

$records:=ds.Parents.query (“childReference_return.length>0”)

But when I do this I get null back. 
**
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: 4D v18 — Need methodology to

2020-04-24 Thread lists via 4D_Tech
Chris,

Just create a regular method, mark it as "Execute on Server" in the method 
properties, then call it just like any other method.  You can return anything 
you want in $0

$myData:=ThisMethodRunOnServer(whatever)

Just make sure to check that little box in the ThisMethodRunOnServer Method 
properties and you are all done...

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Chris Belanger via 
4D_Tech
Sent: Friday, April 24, 2020 4:44 PM
To: 4D iNUG Technical <4d_tech@lists.4d.com>
Cc: Chris Belanger 
Subject: Re: 4D v18 — Need methodology to 

Hi Olivier,
I am looking for SIMPLE, alright. 
I have looked at ‘execute on server’ but I do not see how it sends anything to 
the client other than the process number (in $0).
What have I missing about it?
I used it in the past (when I made a ‘communicator’ subsystem in classic 4D) 
but it involved ‘variable to variable’, pausing/resuming processes and the 
like, and involved quite a bit of intricate programming.

— Chris


> On Apr 24, 2020, at 5:27 AM, Olivier Flury via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Maybe too simple for what you need to do, but have a look at the "execute on 
> server" property for project methods.
> 
> Create a method that is executed on server. It gets as $1 the id of the 
> document you want to display on the client side. The method does everything 
> to fetch the document from the directory on the server etc. and sends it to 
> the client in $0.
> 
> Keep in mind that this method (executed on server) behaves similar to a 
> trigger method: you are read/write for all tables and you should have your 
> own On Err Call method.
> 
> Best,
> 
> Olivier
> 
> || https://flury-software.ch/
> 
> -Ursprüngliche Nachricht-
> Von: 4D_Tech <4d_tech-boun...@lists.4d.com> Im Auftrag von Chris Belanger via 
> 4D_Tech
> Gesendet: Freitag, 24. April 2020 10:57
> An: 4D iNUG Technical <4d_tech@lists.4D.com>
> Cc: Chris Belanger 
> Betreff: 4D v18 — Need methodology to 
> 
> I have a methodology of allowing clients to transfer documents that are 
> thereafter stored by 4D Server in a ‘LIBRARY’ of system documents it 
> maintains automatically. [these are not stored in the DB, but in a managed 
> folder on disk.]
> 
> I do this by:
> • Loading a system document into a BLOB, then using BASE64 ENCODE to store it 
> in a TEXT field;—— thanks Peter Bozek for the tip on BASE64 ENCODE / 
> DECODE!
> • the TRIGGER method (running on 4D server) unpacks it and creates / updates 
> the files in its ‘Library’ directory on disk.
> 
> Now I need to be able to retrieve the contents of these files for 4D [Client].
> I can display the files in a Web Area —> Thanks to Keith for the tip.
> 
> ** But I am looking for a simple way to get 4D Server to ’send’ the data to 
> the CLIENT (4D) upon request.
> 
> In the past [since v12), I made elaborate ‘communicator’ stored routines to 
> fudge it, but I have a feeling that now there are better ways to do it.
> 
> I wish it was simple as:
> Request_Document ( $LibraryEntity ) —> Document Contents   [retrieved from 
> the library of user’s documents stored by 4D Server on disk]
> 
> Any suggestions? Do I have to use Workers, or Stored Procedures, or something?
> 
> Thank you, guys & gals,
> 
> Chris Belanger
> **
> 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
> **

**
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: one server window on client

2020-04-14 Thread lists via 4D_Tech
Did you try clearing the local resources and start over?, we have had 
unexplained issues on specific machines that went away when we started fresh.

Lahav



-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Charles Miller via 
4D_Tech
Sent: Tuesday, April 14, 2020 2:06 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Charles Miller 
Subject: Re: one server window on client

I have tried that as well. I added change user after trying to log in as 
designer. Result crash. Logging in as administrator. Result crash. Change user. 
Result crash

Regards

Chuck

On Tue, Apr 14, 2020 at 3:47 PM Tim Nevels via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> On Apr 14, 2020, at 2:00 PM, Chuck Miller wrote:
>
> > Environment windows server 2016. 4D 17.4 running as a built server.
> Server running as a service.
> >
> > I am logged in as Administrator.
> >
> > A one line method
> > OPEN ADMINISTRATION WINDOW
> >
> > 4D crashes every time
> >
> > I have changed method to add change user crashes in the same place
> >
> > Any ideas
>
> Try “Designer" user. That’s how I always access the 4D Server window 
> from 4D Client.
>
> Start a new process, then:
>
> CHANGE CURRENT USER(“Designer”;”password”) OPEN ADMINISTRATION WINDOW
>
> When I’m done, I switch back to the previous 4D user.
>
> Tim
>
> *
> Tim Nevels
> Innovative Solutions
> 785-749-3444
> timnev...@mac.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
> **

--
-
 Chuck Miller Voice: (617) 739-0306 Fax: (617) 232-1064  Informed Solutions, 
Inc.
 Brookline, MA 02446 USA Registered 4D Developer
   Providers of 4D, Sybase & SQL Server connectivity
  https://www.informed-solutions.com
-
This message and any attached documents contain information which may be 
confidential, subject to privilege or exempt from disclosure under applicable 
law.  These materials are intended only for the use of the intended recipient. 
If you are not the intended recipient of this transmission, you are hereby 
notified that any distribution, disclosure, printing, copying, storage, 
modification or the taking of any action in reliance upon this transmission is 
strictly prohibited.  Delivery of this message to any person other than the 
intended recipient shall not compromise or waive such confidentiality, 
privilege or exemption from disclosure as to this communication.
**
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: one server window on client

2020-04-14 Thread lists via 4D_Tech
Chuck,

Just to make sure, you are executing that command on a client, not on the 
server with a stored proc or Execute on server right?

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Charles Miller via 
4D_Tech
Sent: Tuesday, April 14, 2020 1:17 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Charles Miller 
Subject: Re: one server window on client

Tried that with same result

On Tue, Apr 14, 2020 at 3:15 PM Bob Miller via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> Hi Chuck,
>
> RE> A one line method
> RE> OPEN ADMINISTRATION WINDOW
>
> RE> 4D crashes every time
>
> What if you open a new process method with the one line?
>
> I call OPEN ADMINISTRATION WINDOW and it does work, but I have it in 
> its own process.  Can't say why other than that's how I wrap all my 
> primary methods.
>
> Bob Miller
> Parker Hannifin Corp.
> **
> 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
> **

--
-
 Chuck Miller Voice: (617) 739-0306 Fax: (617) 232-1064  Informed Solutions, 
Inc.
 Brookline, MA 02446 USA Registered 4D Developer
   Providers of 4D, Sybase & SQL Server connectivity
  https://www.informed-solutions.com
-
This message and any attached documents contain information which may be 
confidential, subject to privilege or exempt from disclosure under applicable 
law.  These materials are intended only for the use of the intended recipient. 
If you are not the intended recipient of this transmission, you are hereby 
notified that any distribution, disclosure, printing, copying, storage, 
modification or the taking of any action in reliance upon this transmission is 
strictly prohibited.  Delivery of this message to any person other than the 
intended recipient shall not compromise or waive such confidentiality, 
privilege or exemption from disclosure as to this communication.
**
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: ORDA - NOT(IN)

2020-04-04 Thread Tom-Lists via 4D_Tech
Yup, that's my bug! 

[ ]  #  Null

Cheers,
Tom


> On Mar 26, 2020, at 5:52 PM, Keisuke Miyako via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> remember this discussion?
> 
> good news! common sense prevails!
> 
> https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.4d.fr_fixedbugslist-3Fbranch-3D18=DwIGaQ=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM=ggnhy3XDlkr8p1pxOv3hyMunBXkdyaEyaszahWyKNa0=1xZu-0iJ4fTIcHlhB7HherXwFSgpEXOgliSS_rrTOZo=fstIKyWWsQ3uUtOwarjg_bNqSq_aZI_FNx5LS97cons=
> 
> #ACI0100614
> 
>> 2020/03/04 9:33、Keisuke Miyako のメール:
>> the inverse of FALSE is TRUE, but the inverse of NULL is NULL.
>> it's counter-intuitive, but that how NULL works.
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.4d.com_archives.html=DwIGaQ=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM=ggnhy3XDlkr8p1pxOv3hyMunBXkdyaEyaszahWyKNa0=1xZu-0iJ4fTIcHlhB7HherXwFSgpEXOgliSS_rrTOZo=4bHRMQlBpcz9y-clTxj9MYXH6_U2VoSympPVZZojDeo=
> Options: 
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.4d.com_mailman_options_4d-5Ftech=DwIGaQ=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM=ggnhy3XDlkr8p1pxOv3hyMunBXkdyaEyaszahWyKNa0=1xZu-0iJ4fTIcHlhB7HherXwFSgpEXOgliSS_rrTOZo=x11-tTwpOA2O5C2ub0xcMkELt-qJmRbUDyi1pcoySjY=
> 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: How can one REDRAW a SUBFORM that uses a OBJECT as its 'variable or expression'?

2020-03-10 Thread lists via 4D_Tech
All you need to do is to assign the entity selection object to itself to 
trigger an update, as in

Form.my_Entity_List:= Form.my_Entity_List

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Chris Belanger via 
4D_Tech
Sent: Tuesday, March 10, 2020 7:03 PM
To: 4D iNUG Technical <4d_tech@lists.4d.com>
Cc: Chris Belanger 
Subject: Re: How can one REDRAW a SUBFORM that uses a OBJECT as its 'variable 
or expression'?

Sorry for not including that detail. It is an entity-selection listBox. I had 
initially written more detail about my issue and decided perhaps it was too 
verbose (a bad tendency of mine).
It has the same ‘REDRAW( )’ issue as the subform that contains it — no way to 
indicate the object. Since there is no REDRAW ( * ; objectName ) syntax.

— Chris

> On Mar 10, 2020, at 1:12 PM, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi Chris,
> What's going on in the subform that's not updating?
> 
> On Tue, Mar 10, 2020 at 12:05 PM Chris Belanger via 4D_Tech < 
> 4d_tech@lists.4d.com> wrote:
> 
>> 4D continues to NOT QUITE truly and fully support its object 
>> notation, and the inability to get a pointer to an object attribute 
>> continues to confound.
>> 
>> The latest issue involves an attempt to use REDRAW( ) to redraw a 
>> subform that is named, but whose ‘variable or expression’ as an 
>> OBJECT (not a variable).
>> 
>> Because REDRAW( ) does not support a common 4D command structure:  i.e.
>> REDRAW ( * ; ObjectName ) in addition to REDRAW ( Variable ), then it 
>> is impossible to use REDRAW on a subform that uses an OBJECT.
>> 
>> Does anyone have a method of getting a subform REDRAW accomplished, 
>> when its ‘variable’ is an OBJECT?
>> 
>> Thanks,
>> Chris
>> *
>> *
>> 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
>> *
>> *
> 
> 
> 
> --
> Kirk Brooks
> San Francisco, CA
> ==
> **
> 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
**
**
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: Active Listbox/Form while listbox dynamically built

2020-03-09 Thread lists via 4D_Tech
Hey John,

You are actually calling a method that runs in the context of the form window.  
You don't need to trap for an event, the method just runs and does whatever it 
needs to do in the context of the form.

For example, if you only need to add a row to an array on the form, write a 
method "InsertElement":

C_Text($1)

APPEND TO ARRAY(myFormArray;$1)

Then in the process that do all your data crunching, just call:

Call Form($YourcallingFormWindowID;" InsertElement ";"Add This")

You are done

One question for you, any reason to use arrays rather than a collection?

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of John J Foster via 
4D_Tech
Sent: Monday, March 9, 2020 11:22 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: John J Foster 
Subject: Re: Active Listbox/Form while listbox dynamically built

Hi Lahav,

Good to hear from you my man!

Ref: "An easier way to think of CALL FORM is to look at it as the old ON 
OUTSIDE CALL event in a form, but with the added bonus of being able pass data 
to the form as parameters from the calling process, without using global 
variables."

I kind of get that but can’t see where the form captures as event (we don't 
have On Call Form) so I know where to append to the listbox with the new 
rows/data as it’s being returned.

Does that make sense? That’s where my confusion lies.

John…



> On Mar 9, 2020, at 9:42 AM, John J Foster  wrote:
> 
> Hi Peter,
> 
> Yea, that’s what I thought!
> 
> So trying to understand (aka, visualize in my minds eye before I code) how to 
> correctly get back the rows being returned from another process. I am 
> thinking of some sort of object.
> 
> I’m still trying to follow Olivier’s explanation “try to see CALL FORM as 
> "execute this project method in the context of this form", similar to EXECUTE 
> METHOD IN SUBFORM”.
> 
> Anyway, reviewing your previous thoughts.
> 
> Appreciate,
> John…
> 
> 
>> On Mar 9, 2020, at 9:24 AM, Peter Bozek  wrote:
>> 
>> In fact, worker cannot share variables with another process (think of worker 
>> as another process running on another processor, not sharing the memory with 
>> main process.) But worker can call a method with CALL FORM and pass a 
>> parameters to that call, and the parameter can be, for example, an object 
>> with embedded values.
> 

**
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: Active Listbox/Form while listbox dynamically built

2020-03-09 Thread lists via 4D_Tech
John,

An easier way to think of CALL FORM is to look at it as the old ON OUTSIDE CALL 
event in a form, but with the added bonus of being able pass data to the form 
as parameters from the calling process, without using global variables.

Cheers,

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of John J Foster via 
4D_Tech
Sent: Monday, March 9, 2020 10:43 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: John J Foster 
Subject: Re: Active Listbox/Form while listbox dynamically built

Hi Peter,

Yea, that’s what I thought!

So trying to understand (aka, visualize in my minds eye before I code) how to 
correctly get back the rows being returned from another process. I am thinking 
of some sort of object.

I’m still trying to follow Olivier’s explanation “try to see CALL FORM as 
"execute this project method in the context of this form", similar to EXECUTE 
METHOD IN SUBFORM”.

Anyway, reviewing your previous thoughts.

Appreciate,
John…


> On Mar 9, 2020, at 9:24 AM, Peter Bozek  wrote:
> 
> In fact, worker cannot share variables with another process (think of worker 
> as another process running on another processor, not sharing the memory with 
> main process.) But worker can call a method with CALL FORM and pass a 
> parameters to that call, and the parameter can be, for example, an object 
> with embedded values.

**
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: ORDA - NOT(IN)

2020-03-03 Thread Tom-Lists via 4D_Tech
Yup, add any dummy element of any kind (since a collection can be mixed) and 
you have a work-around. You could instead bypass the query if the search 
collection is empty, that would be logical, might even be (insignificantly) 
more efficient .

Keisuke mentions a potential issue about "runtime"… I've not tested this 
behavior when compiled.

Left to ponder: is it a bug or a feature?  Either way I'm not seeing it as 
"appropriate". 



> On Mar 3, 2020, at 3:57 AM, Adrian Boone via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> That's exactly what I assumed - if the collection is empty, you'd expect that 
> "not in collection" would return everything, but in my experience (v17.1) it 
> returns nothing! The workaround I have for now is to add a dummy element to 
> the collection and that works as expected. In my case it's a collection of 
> UUIDs from another ORDA query, so I just add a garbage UUID, but I guess even 
> adding an empty string would do the trick?
> 
> Adrian
> 
> On 03/03/2020 08:52, Keisuke Miyako via 4D_Tech wrote:
>> I do not have any insider knowledge on this particular point,
>> but I would assume that the runtime simply ignores the instruction and 
>> return all entities if the collection is empty (length=0),
>> since the condition is the inverse of a "false" statement.
>> 
>> matching an empty string is a different equation.
>> any string of any length that matches an empty string according to unicode 
>> collation for the current locale rules is a match.
>> control characters, non characters, etc. that are not identical to "" can 
>> still be equivalent to "".
>> such entities must be removed from the resulting entity selection in this 
>> case because of the "NOT".
>>  
>>> On Mar 3, 2020, at 17:26, Douglas Cryer via 4D_Tech <4d_tech@lists.4d.com> 
>>> wrote:
>>> 
>>> Re:
>>> Why is my query of
>>>NOT(IN [])
>>>   versus
>>>NOT(IN [""])
>>> producing difference results?
>> **
>> 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
> **

**
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 - NOT(IN)

2020-03-01 Thread Tom-Lists via 4D_Tech
That's an interesting find, but I don't see that as the case as the value of 
the variable (as seen in the debugger) remains the same with or without the NEW 
COLLECTION parenthesis. 

So my question still stands:

Why is my query of 
NOT(IN []) 
   versus 
NOT(IN [""]) 
 producing difference results?

Tom



> On Mar 1, 2020, at 5:18 PM, Jeremy French  wrote:
> 
> Hi Tom.
> 
> I believe this statement has a silent syntax error, which the compiler/syntax 
> checker fails to flag:
> $vC_uuidsToIgnore:=New collection()
> 
> Remove the parenthesis so you have:
> $vC_uuidsToIgnore:=New collection
> 
> See: https://doc.4d.com/4Dv18/4D/18/New-collection.301-4505843.en.html 
> <https://doc.4d.com/4Dv18/4D/18/New-collection.301-4505843.en.html>
> 
> Best regards,
> Jeremy French
> 
> 
> 
> 
>> On Mar 1, 2020, at 2:05 PM, Tom-Lists via 4D_Tech <4d_tech@lists.4d.com 
>> <mailto:4d_tech@lists.4d.com>> wrote:
>> 
>> Now assuming that the field "entityUUID" is populated (no null values), How 
>> come I get different results with:
>> 
>> $vC_uuidsToIgnore:=New collection()
>> $deletes:=ds.SyncDeletes.query("NOT(entityUUID IN :1)";$vC_uuidsToIgnore)
>>  $deletes --> zero length entitySelection (not what I expect!)
>> 
>> versus
>> $vC_uuidsToIgnore:=New collection("")
>> $deletes:=ds.SyncDeletes.query("NOT(entityUUID IN :1)";$vC_uuidsToIgnore)
>>  $deletes --> all SyncDeletes records (good!)
>> 
>> The ONLY difference between the above snippets is that one collection is 
>> empty versus the other has a single empty value.
>> 
>> v18.0 
>> 
>> I can exclude uuids when my vC_uuidsToIgnore contains one or more UUID's, 
>> the problem appears when that collection is empty… I should get ALL 
>> SyncDeletes records.
> 

**
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: An API for my 4D app

2020-03-01 Thread Tom-Lists via 4D_Tech
We provide API resources just by using the web extension and returning JSON to 
validated queries. 
For example a customer device might make a request like:

https://online.myDomain.ca/4DACTION/API/API_GetAssets?key=8B99FB68=new=yes
 


would receive something like:

{
 "IosUpdateAvailable": "v0.5b2133",
 "Date": "2/29/20",
 "Time": "13:57:44",
 "Username": "Tom",
 "Query": {
  "key": "8B99FB68",
  "criteria": "new"
  "pretty": "yes"
 },
 "Result": {
  "SetUTC": "2020-02-29T20:57:45.367Z",
  "Status": "Success",
  "Assets": [
   {
"esn": "0814IG3054E",
"lat": 56.14575,
"lon": -117.72689,
"alt": 0,
"speed": 0,
"heading": 0,
"utc": "2020-02-29T01:24:10Z",
"localDT": "2/28/20 18:24:10",
 "UID": "A7250F54E0B34E679AF06E5A64B2101B",
 "modUTC": "2019-09-10T22:00:01.975Z",
 "Ident": "C-FHUY",
 }
 ]
}
   }

Easy and fast!
Cheers,
Tom


Tom Buckler | Buckler Microelectronics Inc.
17008 - 90 Avenue NW | Suite 272 | Edmonton | AB | Canada | T5T 1L6
Cell: (780) 499-5525 




> On Feb 27, 2020, at 4:49 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com 
> > wrote:
> 
> I've been asked a few times by prospective customers if we have an API for
> our 4D app. My answer is that it can be accessed via ODBC. But that isn't
> really what they want.
> 
> I'd like to ask you guys what solutions you have implemented in this regard?
> 
> Pat
> 
> -- 
> *
> CatBase - Top Dog in Data Publishing
> tel: +44 (0) 207 118 7889
> w: http://www.catbase.com 
> skype: pat.bensky
> *
> **
> 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
**

ORDA - NOT(IN)

2020-03-01 Thread Tom-Lists via 4D_Tech
Hi All,
I'm generally in love with ORDA, but:

Now assuming that the field "entityUUID" is populated (no null values), How 
come I get different results with:

$vC_uuidsToIgnore:=New collection()
$deletes:=ds.SyncDeletes.query("NOT(entityUUID IN :1)";$vC_uuidsToIgnore)
$deletes --> zero length entitySelection (not what I expect!)

versus
$vC_uuidsToIgnore:=New collection("")
$deletes:=ds.SyncDeletes.query("NOT(entityUUID IN :1)";$vC_uuidsToIgnore)
$deletes --> all SyncDeletes records (good!)

The ONLY difference between the above snippets is that one collection is empty 
versus the other has a single empty value.

v18.0 

I can exclude uuids when my vC_uuidsToIgnore contains one or more UUID's, the 
problem appears when that collection is empty… I should get ALL SyncDeletes 
records.


Cheers
Tom





Tom Buckler | Buckler Microelectronics Inc.
17008 - 90 Avenue NW | Suite 272 | Edmonton | AB | Canada | T5T 1L6
Cell: (780) 499-5525 




**
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 over different platforms

2020-02-25 Thread lists via 4D_Tech
Set up a terminal server running Parallels software, then run a client on that 
machine, with settings to allow for the different screen size/resolutions you 
need to support.

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of stardata.info via 
4D_Tech
Sent: Tuesday, February 25, 2020 11:21 AM
To: 4d_tech@lists.4d.com; 4d_tech-requ...@lists.4d.com
Cc: stardata.info 
Subject: 4D over different platforms

Hi All,

I need to develope one 4D application that must be useed on several 
devices: Tablet, Phones and pc.

These application must run on client server mode in Windows and iOS.

Can i use 4D v18 at this goal, but without use 4D as web server?

Thanks

/Ferdinando/


**
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: Complex graph

2019-07-02 Thread lists via 4D_Tech
Ferdinando,

Send me a private email for a code demo on how to do it.  Lw at xsitra period 
com

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of stardata.info via 
4D_Tech
Sent: Thursday, June 27, 2019 1:30 AM
To: 4d_tech@lists.4d.com
Cc: stardata.info 
Subject: Re: Complex graph

Interesting.

Have you a link for a demo that explain how to use 4D View pro for create graph?

Thanks

Ferdinando

Il 27/06/2019 00:34, 4d_tech-requ...@lists.4d.com ha scritto:
> Message: 3
> Date: Wed, 26 Jun 2019 13:20:49 -0700 (MST)
> From: Scott Staley
> To:4d_tech@lists.4d.com
> Subject: Re: Complex graph
> Message-ID:<1561580449421-0.p...@n5.nabble.com>
> Content-Type: text/plain; charset=us-ascii
>
> I was able to make the linked chart in View Pro...
>
> Link to:Chart
>    
>
>
>
>
>
>
> --
> 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: Arrays in objects

2019-06-10 Thread lists via 4D_Tech
Jeremy,

$o.array[1]  will do it.

Take note of the square brackets, and be  aware that the index starts from 0, 
not 1

However, what you are trying to do can be accomplished much easier using a key 
pair object without a matched arrays.

Before:
Array_Names{1} = "Tag_Name"
Array Values{1} = text//all values must be the same type

New:

C_Object($0)

$0:=new object("Tag Name";"text";"a different Tag name ";453432;"Tag3";Current 
date)

If you need multiple different objects like that one, use collections

C_Collections($Settings)
$Settings:=new collection

$Settings.push(new object("Tag Name";"text";"a different Tag name 
";453432;"Tag3";Current date))
$Settings.push(new object("Tag Name";"Different text";"a different Tag name 
";5;"Tag3";Yesterday))

 Etc.

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Jeremy Roussak via 
4D_Tech
Sent: Monday, June 10, 2019 1:22 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Jeremy Roussak 
Subject: Re: Arrays in objects

Kirk,

Thanks - very helpful. What I was hoping to do was to build a couple of text 
arrays in a method; return them in an object; and then use them directly in 
calls to HTTP methods, something like this:

C_OBJECT($headers)
$headers:=BuildHeaders // returns object containing matched arrays 
$status:=HTTP Get($url; $response; $headers.names; $headers.values)

Is that possible, or must I extract the names and values arrays from the 
returned object before use? I’m using v17R4.

Jeremy

> On 10 Jun 2019, at 19:47, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Jeremy,
> Depends on which version you are using. If you are in v17 then 'arrays 
> in objects' are essentially gone. They are collections now and you can 
> use dot notation with collections.
> Otherwise, yes 'arrays' are still arrays within the object.
> 
> It's possible to mix the nomenclatures in v17. You _can_ define an 
> object as use OB SET ARRAY but there is no advantage to doing so. It's 
> much better to use collections.
> 
> C_OBJECT($o)
> $o:=New object
> $o.array:=New collection
> 
> $o.array.push(1) // $o: {array: [1]}
> 
> 
> $x:=$o.array[0]  //  $x = 1
> 
> If you have some array of longints you want to append you can call OB 
> SET
> ARRAY($o;”array”;$arrayOfLongs) without an error and it will be a 
> collection.
> You could also call ARRAY TO COLLECTION($o.array;$arrayOfLongs)
> 
> 
> On Mon, Jun 10, 2019 at 11:37 AM Jeremy Roussak via 4D_Tech < 
> 4d_tech@lists.4d.com> wrote:
> 
>> Are arrays within objects rather second-class properties? I know that 
>> I can put an array into an object using OB SET ARRAY, and I can 
>> retrieve it (all of it) using OB GET ARRAY, but is that all?
>> 
>> Can I use dot notation to refer to the arrays themselves, or to 
>> individual elements of the array?
>> 
>> C_OBJECT($o)
>> 
>> $o:=New object
>> OB SET ARRAY($o;”array”;$arrayOfLongs)
>> 
>> $o.array{1} - error
>> $o.array - error
>> $o[“array”] - error
>> 
> 
> --
> Kirk Brooks
> San Francisco, CA
> ===
> 
> What can be said, can be said clearly, and what you can’t say, you 
> should shut up about
> 
> *Wittgenstein and the Computer *
> **
> 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
**
**
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: issue with invisible button

2019-06-10 Thread lists via 4D_Tech
Chuck,

The button with the assigned 'Enter' key will take precedence over the default 
settings of 4D global shortcut keys (see Setting/interface/shortcuts).

When you disable your button, or make it invisible, the default shortcut is no 
longer trapped and is validating the entry.

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Jane Goguen via 
4D_Tech
Sent: Friday, June 7, 2019 11:38 AM
To: 4d_tech@lists.4d.com
Cc: Jane Goguen 
Subject: issue with invisible button

Hi all,

Environment Mac client, 4D version 16.5 built client server and 4D standalone

I have an invisible button with Enter as a shortcut. If I disable the button 
and even if I make it invisible and then Hit enter key, the button code does 
not run (This is expected), but the validate code in the on validate event on 
form method does run (This is NOT expected). What simply stupid thing am I 
missing here.

This is Chuck M sending email from a client email as I have not access to email 
from here


Regards

Chuck and Jane





This email message and any files transmitted with it contain confidential 
information intended only for the person(s) to whom this email message is 
addressed. If you have received this email message in error, please notify the 
sender immediately by telephone or email and destroy the original message 
without printing or making a copy.
**
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: Active4D/ObjectTools with 4D 32-bit

2019-05-24 Thread Brian Campbell [lists] via 4D_Tech
Aparajita - no joy on that try. Server had 2017 (14.1) installed, so
uninstalled those, installed the 2015, restarted, and seeing the same
issues. Error in v16.5, OK in v16R6 (both 64-bit).

Assistance always much appreciated!

On Fri, May 24, 2019 at 2:22 PM Aparajita Fishman via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Oh Windows, how I love thee...
>
> Try installing this:
> https://www.microsoft.com/en-us/download/details.aspx?id=48145 <
> https://www.microsoft.com/en-us/download/details.aspx?id=48145>
>
> As for the Mac client errors, that has nothing to do with me. 4D says the
> culprit is the QLM plugin.
>
> All the best,
>
>   - Aparajita
>
> > On May 24, 2019, at 12:00 PM, 4d_tech-requ...@lists.4d.com wrote:
> >
> > We plan to have 32-bit clients for the next 6-12 months, running v16.
> >
> > I am actually encountering an error trying to launch v16.5 Server,
> 64-bit,
> > on 64-bit Windows 2012r2. Any call to an OT method, including the
> register
> > method, generates an error:
> >
> > Incompatible version. You need to upgrade your plugin.
> > License or privilege error. (ObjectTools (v5.0r1))
> >
> > Even if I disable OT methods on the server, every time a 32-bit Mac
> client
> > connects, the server hangs with a dialog:
> >
> > Incompatible version. You need to upgrade your plugin.
> > License or privilege error. (QLM (1.2.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
> **
**
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: Active4D/ObjectTools with 4D 32-bit

2019-05-24 Thread Brian Campbell [lists] via 4D_Tech
Aparajita,

You're right on the QLM - my mistake, I had too many notes with all my
issues -- apparently I have TONS of issues right now. I will give a try
with the Windows update and report back.

Was interesting that the 16.4/5 releases have the issue, while the 16R5/6
do not.

On Fri, May 24, 2019 at 2:22 PM Aparajita Fishman via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Oh Windows, how I love thee...
>
> Try installing this:
> https://www.microsoft.com/en-us/download/details.aspx?id=48145 <
> https://www.microsoft.com/en-us/download/details.aspx?id=48145>
>
> As for the Mac client errors, that has nothing to do with me. 4D says the
> culprit is the QLM plugin.
>
> All the best,
>
>   - Aparajita
>
> > On May 24, 2019, at 12:00 PM, 4d_tech-requ...@lists.4d.com wrote:
> >
> > We plan to have 32-bit clients for the next 6-12 months, running v16.
> >
> > I am actually encountering an error trying to launch v16.5 Server,
> 64-bit,
> > on 64-bit Windows 2012r2. Any call to an OT method, including the
> register
> > method, generates an error:
> >
> > Incompatible version. You need to upgrade your plugin.
> > License or privilege error. (ObjectTools (v5.0r1))
> >
> > Even if I disable OT methods on the server, every time a 32-bit Mac
> client
> > connects, the server hangs with a dialog:
> >
> > Incompatible version. You need to upgrade your plugin.
> > License or privilege error. (QLM (1.2.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
> **
**
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: Active4D/ObjectTools with 4D 32-bit

2019-05-24 Thread Brian Campbell [lists] via 4D_Tech
We plan to have 32-bit clients for the next 6-12 months, running v16.

I am actually encountering an error trying to launch v16.5 Server, 64-bit,
on 64-bit Windows 2012r2. Any call to an OT method, including the register
method, generates an error:

Incompatible version. You need to upgrade your plugin.
License or privilege error. (ObjectTools (v5.0r1))

Even if I disable OT methods on the server, every time a 32-bit Mac client
connects, the server hangs with a dialog:

Incompatible version. You need to upgrade your plugin.
License or privilege error. (QLM (1.2.1))

Launching 32-bit Server has no issues. Removing the ObjectTools.bundle from
plugins of course generates errors for Command not Found, but none of these
error.

Please advise! We are anxious to get our app into v16 64-bit Server.

-Brian

On Mon, Dec 10, 2018 at 12:55 PM Aparajita Fishman via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hi,
>
> Just wondering how many Active4D or ObjectTools users out there *must* use
> 32-bit 4D on macOS for the foreseeable future.
>
> I need to know how much longer I need to support 32-bit versions of my
> plugins on macOS.
>
> Many thanks,
>
> - Aparajita
>
>
> **
> 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: Denver Area Developers

2019-02-22 Thread lists via 4D_Tech
Hi Tom,

I am there practically every other week, but only at the airport while waiting 
for a connecting flight, does that helps? 

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Tom Dillon via 4D_Tech
Sent: Friday, February 22, 2019 1:46 PM
To: 4d_tech@lists.4d.com
Cc: Tom Dillon 
Subject: Denver Area Developers

Are there still any 4D Developers in the Denver area?

-- 
   --
   Tom Dillon  375 S Main St #405
   DataCraft   Moab, UT 84532
   tomdil...@datacraft-inc.com   720/209-6502
   --
Never so clearly does a man see as when he has his head far
above the clouds, just before his eyeballs freeze. --- Sunastar
   --


**
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: Apple Push Notification Servers (APNS)

2019-01-19 Thread Tom-Lists via 4D_Tech
Thanks. It turns out 4D doesn't handle HTTP2 requests (yet?) so I'm using curl 
to send push notifications.

Cheers,
Tom


> On Tue, Jan 15, 2019, at 6:31 PM, John DeSoi via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> I have seen this error which I thought was related to a keep-alive error (* 
> as the last parameter) in the HTTP client implementation, but it appears you 
> are not using that option. My work-around was to just retry the request which 
> seemed to work. Might be worth a try.
> 
> John DeSoi, Ph.D.
> 
> 
> 
> 
>> On Jan 15, 2019, at 6:41 PM, Tom-Lists via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> in v17.0:
>> Error code: 17 (4DRT)
>> Unimplemented control instruction.
> 
> **
> 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
**

Apple Push Notification Servers (APNS)

2019-01-15 Thread Tom-Lists via 4D_Tech
Hello,

Anyone having any luck sending notifications to Apple's Push Notification 
Servers?

I'm getting mixed results when I try to POST the HTTP REQUEST:
in v16.4: 
Error code: 49
SSL internal error : error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert 
unknown ca
component: 'srvr'
in v17.0:
Error code: 17 (4DRT)
Unimplemented control instruction.

I know I've set up my token/etc correctly as I can send test push notifications 
with another app, but I don't think I'm getting that far (to even authenticate 
with apple) based on these errors.

Code snippet:
url_sandbox:="https://"+"api.sandbox.push.apple.com:443 
"
url_production:="https://"+"api.push.apple.com:443 
"

device_token:="675d6ce5" // not my real device token
auth_token:="MIGTAgEAMBMGByq" // not my real token

apn_path:="/3/device/"+device_token
apn_authorization:="bearer "+auth_token
apns_id:=GenerateUUID_Canonical 
apns_expiration:=0  // 0=send once
apns_priority:=10
apns_topic:="com.buckler_obfuscated_bundleid.appname"
contents:="{ \"aps\" : { \"alert\" : \"Hello\" } }"
response:=""

C_OBJECT(vO_response)
ARRAY TEXT($headerNames_at;0)
ARRAY TEXT($headerValues_at;0)
APPEND TO ARRAY($headerNames_at;"Content-Type")
APPEND TO ARRAY($headerValues_at;"application/x-www-form-urlencoded")
APPEND TO ARRAY($headerNames_at;"Content-Length")
APPEND TO ARRAY($headerValues_at;String(Length(contents)))

  //APPEND TO ARRAY($headerNames_at;":path")
  //APPEND TO ARRAY($headerValues_at;apn_path)

APPEND TO ARRAY($headerNames_at;"authorization")
APPEND TO ARRAY($headerValues_at;apn_authorization)

APPEND TO ARRAY($headerNames_at;"apns-id")
APPEND TO ARRAY($headerValues_at;apns_id)

APPEND TO ARRAY($headerNames_at;"apns-expiration")
APPEND TO ARRAY($headerValues_at;String(apns_expiration))

APPEND TO ARRAY($headerNames_at;"apns-priority")
APPEND TO ARRAY($headerValues_at;String(apns_priority))

APPEND TO ARRAY($headerNames_at;"apns-topic")
APPEND TO ARRAY($headerValues_at;apns_topic)

full_url:=url_sandbox+apn_path

result:=HTTP Request(HTTP POST 
method;full_url;contents;response;$headerNames_at;$headerValues_at)
**ERRORS HERE!!!

Insight Appreciated,

Tom

Tom Buckler | Buckler Microelectronics Inc.
17008 - 90 Avenue NW | Suite 272 | Edmonton | AB | Canada | T5T 1L6
Cell: (780) 499-5525 




**
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: Pasting Spreadsheet Data into 4D Records

2018-12-24 Thread lists via 4D_Tech
Alan,

Take a look at XL Plugin from Pluggers 
(https://www.pluggers.nl/product/xl-plugin/).  It is an excellent tool for 
working with Excel, writing or reading directly.

HTH and happy holidays,

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Alan Tilson via 
4D_Tech
Sent: Monday, December 24, 2018 12:45 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Alan Tilson 
Subject: Re: Pasting Spreadsheet Data into 4D Records

Hello Pat, Koen & Ken,
Pat & Ken- Thank you for your response but I'm trying to eliminate (especially 
manually) creating the text file. I had been thinking of automating the 
creation of the text files and using import, but...
Koen- I hadn't thought of manually (via code) parsing the text data rather than 
trying to use import commands. That seems worthwhile and not that difficult!
I probably should have said that I potentially have hundreds of copy/paste 
operations to do!
Your responses are much appreciated,
Alan

On Mon, Dec 24, 2018 at 11:37 AM Kenneth Geiger via 4D_Tech < 
4d_tech@lists.4d.com> wrote:

> Hi Alan,
>
> Just save your spreadsheet (Excel) as file-type Tab-Delmited-Text (.txt).
> Then in 4D, navigate to File…Import…, change the file type to .txt, 
> select your saved file, select the table into which to import the 
> data, and then match the data (columns) to the proper field and import it.
>
> Regards,
>
> Ken Geiger
>
> > On Dec 23, 2018, at 5:47 PM, Alan Tilson via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Greetings everyone,
> >
> > Is there a way to copy from a spreadsheet like data source and to 
> > paste directly into 4d while parsing it into table(s) and fields? 
> > I'm using v17 if that matters.
> >
> > I thought about saving the data into a text file and then importing 
> > the text file, but there seem to be unnecessary steps in there!
> >
> > Thanks, did some searches but didn't find anything, Alan
> > 
> > **
> > 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
> **
**
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: v16R6 Crashing on Compile

2018-10-25 Thread lists via 4D_Tech
I have the same issue.  I have found that I have to close all open windows in 
the structure to avoid the crash.

The same structure compiles without an issue in v17 without closing anything.

HTH,

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Jim Hays via 4D_Tech
Sent: Thursday, October 25, 2018 3:19 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Jim Hays 
Subject: v16R6 Crashing on Compile

Our app is crashing constantly when we try to compile.
Windows 10 desktops, Windows Server 2008 R2.
Structure is around 75 MB.  We have been deploying this app for nearly 20 years.

For a while, we could Repair and Compact and then compile, but that isn't 
working anymore.
We have a support case open with 4D, but no answers yet.

Anyone having trouble like this?

Thanks,
Jim
**
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: Shared Object - NOT!

2018-10-20 Thread lists via 4D_Tech
Hi Pat,

In order to share an object between processes without using an interprocess 
variable, you must use the "Storage" container/catalog. 
In your startup:

Use(Storage)
Storage.TriggerState:= New shared object
End use


Later in your subsequent code, you assign the contents:

$MyTrigger:= Storage.TriggerState

Use($MyTrigger) 
$ MyTrigger.processnumber:=$state
End use

Lahav


-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Pat Bensky via 4D_Tech
Sent: Saturday, October 20, 2018 9:51 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Pat Bensky 
Subject: Re: Shared Object - NOT!

That's how the example in the docs is.
I've tried it with a process variable - same problem.

Pat

On Sat, 20 Oct 2018 at 15:52, Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> How could it be shared between processes with a name starting with $?
>
>
>
> Paul
>
> > On 20 Oct 2018, at 15:50, Pat Bensky via 4D_Tech 
> > <4d_tech@lists.4d.com>
> wrote:
> >
> > Well I guess I must be doing something wrong :) Using v17r3:
> >
> > In the Startup method I create a new Shared Object:
> >
> > *C_OBJECT*($objTriggerState)  // 20/10/18
> >
> > $objTriggerState:=*New shared object*()
> >
> >
> > Subsequently I want to add something to that object.
> >
> >
> > $State:="on"
> >
> > *Use* ($objTriggerState)
> >
> > processnumber:=*String*(*Current process*)
> >
> > $objTriggerState.processnumber:=$State
> >
> > *End use*
> >
> > But I get an error because $objTriggerState is undefined.
> >
> > According to the docs:
> >
> > "*Shared objects* and *shared collections* are specific objects and 
> > collections *whose contents are shared between processes*."
> >
> > So why is the object undefined?
> >
> > It works OK if the object is an interprocess variable, but that's a 
> > bit pointless isn't it?
> >
> > Pat
> >
> > --
> > *
> > CatBase - Top Dog in Data Publishing
> > tel: +44 (0) 207 118 7889
> > w: http://www.catbase.com
> > skype: pat.bensky
> > *
> > 
> > **
> > 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
> **



--
*
CatBase - Top Dog in Data Publishing
tel: +44 (0) 207 118 7889
w: http://www.catbase.com
skype: pat.bensky
*
**
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: Storage + New shared object

2018-09-01 Thread lists via 4D_Tech
Hi David,

First Both, $DeleteRecord_ob and $DeleteRecord_PN_ob must be a shared objects.  
Also, it seems that shared objects do not accept arrays.  Convert the arrays to 
shared collections instead.

This should work:

ARRAY TEXT($DeleteRecord;Get last table number)
ARRAY LONGINT($DeleteRecord_PN;Get last table number)

C_COLLECTION($t)
$t:=New shared collection
ARRAY TO 
COLLECTION($t;$DeleteRecord;"DeleteRecord";$DeleteRecord_PN;"DeleteRecord_PN")

Use (Storage)
Storage.t:=$t
End use

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of David Ringsmuth via 
4D_Tech
Sent: Saturday, September 1, 2018 9:36 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: David Ringsmuth 
Subject: Storage + New shared object

I’m trying to add an object array to Storage.

The documentation says that Objects can be a share storage value.

I keep getting the message “Not supported value type in a shared object or 
shared collection.”

In the below code I broke apart the assignments for easiest debugging.

ARRAY TEXT($DeleteRecord;Get last table number) ARRAY 
LONGINT($DeleteRecord_PN;Get last table number)

C_OBJECT($DeleteRecord_ob)
OB SET ARRAY($DeleteRecord_ob;"DeleteRecord";$DeleteRecord)

C_OBJECT($DeleteRecord_PN_ob)
OB SET ARRAY($DeleteRecord_PN_ob;"DeleteRecord_PN";$DeleteRecord_PN)

C_OBJECT($Delete_ob;$Delete_PN_ob)

Use (Storage)
Storage.t:=New shared 
object("DeleteRecord";$Delete_ob;"DeleteRecord_PN";$Delete_PN_ob)
End use
Use (Storage.t)
Storage.t.DeleteRecord:=$DeleteRecord_ob // this line generated the 
error message
Storage.t.DeleteRecord_PN:=$DeleteRecord _PN_ob// so does this line 
error with same message End use

Please help!

David Ringsmuth

**
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: Line count - compiled component vs interpreted

2018-08-24 Thread lists via 4D_Tech
Hi,

From what I was able to decipher in similar instances, it seems to be the line 
number in the method that calls the component method.

It's very (un)helpful and it's even worse if you do have more lines in the 
component method, as you can spend a lot of time trying to debug something like 
$i:=1, when in fact it has nothing to do with that line...

Cheers,

Lahav 

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Keith Culotta via 
4D_Tech
Sent: Friday, August 24, 2018 11:10 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Keith Culotta 
Subject: Line count - compiled component vs interpreted

Hello,

A compiled component of mine is throwing an error message from within a host 
database.
It is correct to display the error message under its current conditions.
However, the error is reported on line 35 of the offending method, but the 
method has only 25 lines, blank lines and all.

Any ideas as to why the line count might display like this?

Thanks,
Keith - CDI
**
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: How to show subtotals in a list box

2018-08-20 Thread lists via 4D_Tech
Hi Dani,

Take a look at hierarchical list box.  The idea is to insert a line at the end 
of each break and present the subtotal there.  You could also present the 
subtotal in the top line, allowing the user to suppress or show the details 
under that group. 

Cheers,

Lahav   

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Dani Beaubien via 
4D_Tech
Sent: Monday, August 20, 2018 3:06 PM
To: 4D iNug Technical <4d_tech@lists.4D.com>
Cc: Dani Beaubien 
Subject: How to show subtotals in a list box

My situation is that I have a list box that has 1 level of break rows and I 
have been asked to add a subtotal of the rows within each break level.

I am looking for suggestions on how to approach this?

Thanks in advance.

Dani Beaubien
**
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: Help please - Compiling

2018-08-17 Thread lists via 4D_Tech
Hi Chip,

You declare the longint var as "$sze", then use "$Size" which is undeclared.

As far as the error on the sort array, the ascending operator is optional and 
is the default value anyway, omitting it does compile without an issue.

However, if you need the sort to be Descending, this workaround does not work.  
The only way I got it to compile, was to simplify the pointers:

ARRAY POINTER($SortArr;$Size)
For ($i;1;$Size)
$SortArr{$i}:=$Handle->{1}
end for

Then use

SORT ARRAY($SortArr{1}->;$SortArr{2}->;$SortArr{3}->;<)

Cheers,

Lahav


-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Chip Scheide via 
4D_Tech
Sent: Friday, August 17, 2018 9:18 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Chip Scheide <4d_o...@pghrepository.org>
Subject: Help please - Compiling

Can some one (everyone?) try to compile the following code

if it compiles, please let me know, or let me know what you did to get it to 
compile.
I have tried everything I can think of to get this to compile - and it will not.

the following is a portion of a much larger case statement which fails to 
compile throwing the error:
Did not expect the operator <

I can not figure out why...

Thanks in advace
Chip

Code:
C_POINTER($1;$Handle)
C_TEXT($formula)
C_LONGINT($i;$2;$Sort_Column;$3;$Direction;$Sze)

$Handle:=$1
$Direction:=$2
$Sort_Column:=$3

errutl_Start 

$Sze:=Size of array($Handle->)

If ($Size<=12)

If ($Direction=Ascending)
Case of
: ($Size=1)
SORT ARRAY(($Handle->{1})->;>)

: ($Size=2)
SORT ARRAY(($Handle->{1})->;($Handle->{2})->;>)

: ($Size=3)
SORT ARRAY(($Handle->{1})->;($Handle->{2})->;($Handle->{3})->;>)
End case
End if
End if
---
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing
**
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: Export text columns containing carriage returns to Excel?

2018-08-03 Thread lists via 4D_Tech
What are you using to do the export?, 4D export functionality, quick report or 
something else?

If you are using 4D export, just change the EOL char to something else, the use 
that char as the line delimiter when you open it in Excel.  Another option is 
to export it in DBF format, then import it to a fresh DB where you can 
manipulate it any way you wish.

If you are using Quick Report and print to file, you can insert a "Replace 
String" command for each of those text fields and again manipulate it outside 
of this system.

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Perkins, Bradley D 
via 4D_Tech
Sent: Friday, August 3, 2018 11:22 AM
To: 4d_tech@lists.4d.com
Cc: Perkins, Bradley D 
Subject: Export text columns containing carriage returns to Excel?

I've been asked to provide an export from a legacy 4D system delivered as an 
.xlsx file.

The challenge I'm facing is that this table contains a number of text fields 
and the customer requires the imported column cells to retain the returns or 
line feeds in the original text fields. If I do a straight tab-delimited export 
with carriage returns as the end of line marker, the imported result does not 
preserve the original row because any returns encountered in the text fields 
are interpreted as end of row.

My other challenge is that I need to do this with out-of-box end user 
capabilities from a client (v15.4 remote) against a compiled server. I can't 
install plugins, create new methods, etc.
It has been many years since I've had to do this type of thing in 4D.

Can I replace the carriage returns in the text fields with a special marker 
during export? I could replace the Excel cells containing the any carriage 
return markers with actual returns after import.

Thanks,

Brad Perkins
**
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: ORDA question: how do I add related fields to an entity selection?

2018-07-30 Thread lists via 4D_Tech
Hi Julio,

You need to name your relations, which then shows up as an entity in your 
collection, containing the related data.

Assuming a table named A and a relation to table B named My_B_Link, after 
loading a selection of table A into collection My_Col, you can get your related 
data from table B like this:

My_Col.My_B_Link.AnyFieldYouLike

Regards,

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Julio Carneiro via 
4D_Tech
Sent: Monday, July 30, 2018 10:18 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Julio Carneiro 
Subject: ORDA question: how do I add related fields to an entity selection?

Let’s say I have 2 tables in my database, MANY and ONE, where MANY has a many 
to one relation to ONE.

Using a MANY based SELECTION TO ARRAY I can populate arrays with fields from 
the MANY table, of course, but I can also include fields from the ONE table. If 
automatic relations is set to true 4D will resolve the relations automatically 
and populate the arrays accordingly. Works great and I’ve used it a LOT :-)

Now, using ORDA, how can I get related fields into an Entity Selection? is that 
possible? looking at the docs I could not find a way to do that. Except by 
manually going thru the selection and manually resolving the relation and 
populating the fields needed.

Maybe that is one of those cases where it is better to stick with the “old way” 
and use Arrays.

--
Julio Carneiro
jjfo...@gmail.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
**
**
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: Confused about ORDA

2018-07-29 Thread lists via 4D_Tech
Rudy,

I think part of the reason might be that with ORDA you actually have the data 
loaded and ready to use in the resulting collection, where as with QUERY you 
have a selection of records, but to use any of the data you still need to load 
it somehow.

Also, using QUERY, regardless of speed, allow you access to one selection of 
records only, where as with ORDA, you can just execute the same query with 
different parameters in to a different collection and have as many different 
selection of records at the same time.

I would think that a real test should be a complete task rather than one 
isolated part, and then make a decision as to which option makes more sense for 
that given task.

Regards,

Lahav

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Two Way 
Communications via 4D_Tech
Sent: Sunday, July 29, 2018 5:47 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Two Way Communications 
Subject: Confused about ORDA

I am a bit confused… isn’t ORDA supposed to be faster than traditional queries?

I did a test with a table containing 120,000 records. The query is on 4 indexed 
fields and returns 54,000 records.

Doing the query with ORDA takes 175 milliseconds.
Doing the query with QUERY takes 4 milliseconds.

Why??

ORDA:
$oQRYoption:=New object("queryPlan";False;"queryPath";False)

$oTLD:=ds.T_Loggers_data.query("TLR.FK_REAP =:1 AND TLD_timestamp >=:2 AND 
TLD_timestamp <=:3 AND Excluded 
=:4";[REAP_sections]FK_REAP;$TSsectionStart;$TSsectionEnd;False;$oQRYoption)
 


Traditional:
QUERY([T_Loggers_data];[T_loggers_readings]FK_REAP=[REAP_sections]FK_REAP;*)

QUERY([T_Loggers_data];[T_Loggers_data]TLD_timestamp>=$TSsectionStart;*)
QUERY([T_Loggers_data];[T_Loggers_data]TLD_timestamp<=$TSsectionEnd;*)
QUERY([T_Loggers_data];[T_loggers_readings]Excluded=False)


Rudy Mortier
Two Way Communications bvba 

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

4D 15r5 won't run on Windows 10 pro (2018)

2018-04-17 Thread lists--- via 4D_Tech
Hi,
we’ve just configured 3 Windows 10 computers and they won’t run 4D 15r5  (both 
client and 4D single user)
Windows 10 install disk from 2016 works.
Has anyone seen this with new Windows 10 installs? (We’ve tried all the usual 
DEP and UAC suspects)
With thanks,
Craig
-
Sustainable Solutions
Kathmandu, Nepal & Auckland, New Zealand
Nepal: +977 1 5548021
New Zealand: +64 9 9506778
cr...@sussol.net  skype://craigdrown
http://www.sussol.net   http://www.msupply.org.nz

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

[solved] Code signing Mac (again)

2018-03-04 Thread lists--- via 4D_Tech
Hi everyone,
Just a quick note to save others years of aging…
if you’re having trouble codesigning your mac app, make sure that the Developer 
Certificate in your Keychain is not set to “Always trust” - it must be set to 
“System default”
Thanks to Christian Kaesbach for some off-list help.
Cheers,
Craig

-
Sustainable Solutions
Kathmandu, Nepal & Auckland, New Zealand
Nepal: +977 1 5548021
New Zealand: +64 9 9506778
cr...@sussol.net  skype://craigdrown
http://www.sussol.net   http://www.msupply.org.nz

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

Code signing Mac (again)

2018-03-01 Thread lists--- via 4D_Tech
Hi,
we can sign our Mac single user app by building with code signing off, and then 
removing extended attritbutes with 
xattr -cr mSupply385.app
Then we run the 4D supplied codesign.sh script and it reports success.

However, after that if we do
codesign --verify --verbose=4 mSupply385.app
We get:

mSupply385.app: nested code is modified or invalid
file modified: /Users/sussol/msupply/Final 
Application/mSupply385.app/Contents/Frameworks/4DJavaScript.framework
file modified: /Users/sussol/msupply/Final 
Application/mSupply385.app/Contents/Frameworks/4DJavaScriptCore.framework
file modified: /Users/sussol/msupply/Final 
Application/mSupply385.app/Contents/Frameworks/4DWebCore.framework
(and about another 20 similar lines all pointing to parts of the Volume Destkop 
app as these lines do)

Any help appreciated.
Thanks,
Craig

-
Sustainable Solutions
Kathmandu, Nepal & Auckland, New Zealand
Nepal: +977 1 5548021
New Zealand: +64 9 9506778
cr...@sussol.net  skype://craigdrown
http://www.sussol.net   http://www.msupply.org.nz

**
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 dev/manager position available in Nepal

2018-02-25 Thread lists--- via 4D_Tech
Hi everyone,
Ever felt your life was lacking a bit of purpose, or needed a bit of a 
challenge?
Well… we have an opening for someone experienced with 4D to work in our Nepal 
office for a one year (or possibly longer) contract.
We have 7 full time developers in our Kathmandu office who would love to have 
someone help them with their work.
The role would involve some developing, some mentoring, and and some managing 
our projects.
We have an automated build process using Jenkins, and Github version control 
using the VC component (oh for forms to be under version control- roll on v17)
We make medical supply chain management software for use in the developing 
world, and we’re more focused on doing good than making a profit, so we can pay 
a good wage, but maybe less than you’d expect in your own country. We run open 
books, so we’d slot you in based on what we ourselves earn, and the 
contribution you bring.
See http://sussol.net  or https://www.msupply.org.nz 
 for more info.
We have another 10 people in our team in other countries around the world. We 
currently actively work in about 20 countries.
Help with visas, relocation and accommodation would be provided. 
Language in the office is English.
Please email cr...@sussol.net  if you’d like to know 
more.
Cheers,
Craig

-
Sustainable Solutions
Kathmandu, Nepal & Auckland, New Zealand
Nepal: +977 1 5548021
New Zealand: +64 9 9506778
cr...@sussol.net  skype://craigdrown
http://www.sussol.net   http://www.msupply.org.nz

**
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: Slow characters visualization

2017-11-20 Thread lists via 4D_Tech
Ferdinando,

There was an issue with memory leak in some versions that exhibit similar 
behaviour.  I know the issue existed in v16 (fixed in one of the NB), returned 
in 16r3 and 16r4, and it's been since fixed in 16r4 build 215501, but I don't 
know if it effected any v15 releases too. 

To verify if this is your issue, open a method with about 100 lines of code or 
more, scroll down to the bottom of the method (this is important to trigger the 
leak), open your task manager and look at the amount of memory 4D is taking.  
If you notice the memory grow every second, you have a version with this leak.

Regards,

Lahav

-Original Message-
From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of stardata.info 
via 4D_Tech
Sent: Monday, November 20, 2017 2:24 PM
To: 4d_tech@lists.4d.com
Cc: stardata.info 
Subject: Re: Slow characters visualization

Hi All,

I have again the issue explained below using 4D V15.5 on windows.

I notice that when i write one command or one comment in a method, 4D is very 
slowly to

display the characters typed on the keyboard and in task manager i can the see 
that 4D take until 14% of cpu...
When even the last character typed is displayed, the cpu for 4D return to 0.

No one have this issue ?

Thanks
Ferdinando

Il 11/11/2017 00:26, stardata.info ha scritto:
>
> Hi,
>
> If i open only one method 50 rows... i have the same slow.
> With 4D V15.4 not have this issue...
>
> Thanks
> /Ferdinando/
>
> Il 10/11/2017 21:00, 4d_tech-requ...@lists.4d.com ha scritto:
>> Message: 9
>> Date: Fri, 10 Nov 2017 08:01:29 -0800
>> From: Kirk Brooks
>> To: 4D iNug Technical<4d_tech@lists.4d.com>
>> Subject: Re: Slow characters visualization
>> Message-ID:
>>  

Re: HTTP Get when a domain name returns multiple IP addresses

2017-06-12 Thread lists--- via 4D_Tech
Hi Miyako,

> On 10 Jun 2017, at 7:00 AM, 4d_tech-requ...@lists.4d.com wrote:
> I would invite you to test the latest nightly build which fixes ACI0096586
> http://bugs.4d.fr/fixedbugslist?Branch=16
> "HTTP Get" request fails with certain https web sites

That didn’t work, but we found (we think) it is that 4D doesn’t support Server 
Name Identification (SNI) which Amazon requires
Using your CURL plugin got us around the problem though- thanks!
Cheers,
Craig

-
Sustainable Solutions
Kathmandu, Nepal & Auckland, New Zealand
Nepal: +977 1 5548021
New Zealand: +64 9 9506778
cr...@sussol.net  skype://craigdrown
http://www.sussol.net   http://www.msupply.org.nz

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

HTTP Get when a domain name returns multiple IP addresses

2017-06-09 Thread lists--- via 4D_Tech
Hi,
we’re running a serverless API using Amazon Lambda, and 4D seems to fail on the 
DNS lookup as it returns multiple IP addesses
A dig gives you
api.universalcodes.msupply.org.nz. 25 IN A  52.84.207.226
api.universalcodes.msupply.org.nz. 25 IN A  52.84.207.186
api.universalcodes.msupply.org.nz. 25 IN A  52.84.207.19
api.universalcodes.msupply.org.nz. 25 IN A  52.84.207.198
api.universalcodes.msupply.org.nz. 25 IN A  52.84.207.164
api.universalcodes.msupply.org.nz. 25 IN A  52.84.207.224
api.universalcodes.msupply.org.nz. 25 IN A  52.84.207.57
api.universalcodes.msupply.org.nz. 25 IN A  52.84.207.209

A simple browser query works fine
https://api.universalcodes.msupply.org.nz/v1/items?name=amo=false 


but not from 4D
Any ideas appreciated.

Cheers,
Craig

-
Sustainable Solutions
Kathmandu, Nepal & Auckland, New Zealand
Nepal: +977 1 5548021
New Zealand: +64 9 9506778
cr...@sussol.net  skype://craigdrown
http://www.sussol.net   http://www.msupply.org.nz

**
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: Schemes for record level access control

2017-05-14 Thread lists via 4D_Tech
Hi Kirk,

I'll get back to my usual NUG posting -- Private 

I think it depends on what you need to do, and how "general" it needs to be.  I 
have a system that is accessed by multiple business entities, where most are 
limited to their own records, while one can "see" all records.

In this case, the restriction applies to customers, so each entity has a list 
of customers they are allowed to see (modification is another story), and then 
all that is linked to the customer, i.e. orders, invoices, AR, history, etc.  
In my case, it was simpler to create an "Allowed" list for each entity, and 
then just use that list to narrow down the selection in any access points.

This allowed me to accommodate users moving between entities (does happen, a 
lot), without any additional processing or change to any code.

My structure link a user to a group for access control (modification and 
visibility is handled down to field level by table), and also a link to an 
entity table, which control the records that this entity can access.

In my case, I use inclusion. i.e. values on the entity list were allowed, but 
you could also use it as a disallowed list.  Since it's values (customer_ID), 
it's easy and fast to filter.

Hope this makes sense.  Much like others have indicated, stay as far away as 
you can from the built in 4D access shit, it's for amatures.

Oh, about the listbox, I don't think its different in v16.

Lahav

-Original Message-
From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Kirk Brooks 
via 4D_Tech
Sent: Friday, May 12, 2017 6:14 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Kirk Brooks 
Subject: Re: Schemes for record level access control

Right - so the ultimate permission is the most permissive of all available.

On Fri, May 12, 2017 at 4:56 PM, Alan Chan via 4D_Tech <4d_tech@lists.4d.com
> wrote:

> I assume a member might belongs to multiple teams but will a member 
> belongs to multiple clubs?
>
> Alan Chan
>
> 4D iNug Technical <4d_tech@lists.4d.com> writes:
> >Hi Alan,
> >Those are the go-to solutions. In my case we aren't using the 4D 
> >password system so I can't rely on that. Plus I need actual record 
> >level restriction. So to follow your example, I may want a Team to be 
> >able to
> see
> >themselves and other teams in their Club (just making this up) but 
> >not teams in other Clubs.
> >
> >
>
> **
> 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
> **
>



--
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
**
**
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: Problems with LISTBOX SET FOOTER CALCULATION and dynamic columns (v15)

2017-05-11 Thread lists via 4D_Tech
Hi Kirk,

The issue is the inability to use any of the automatic footer calculations such 
as SUM or AVG in a footer of a numeric column, since regardless of what type 
the column is, the dynamic footer variables are always of type Text.

This is how I have it working (Yes, it's ugly and there might be better way, 
but it works for me...)

//GU_Get_Dynamic_Var  Function

C_TEXT($1;$VarName)
C_LONGINT($2;$type)
C_BOOLEAN($3)
C_POINTER($0;$Nil)
C_TEXT($Formula)


ASSERT(Count parameters>1;Current method name+"called with missing parameters")
ASSERT($1#"";"Variable name is missing")

$VarName:=$1
$type:=$2

Case of 
: ($type=Is text)
$Formula:="C_Text("+$VarName+")"
: ($type=Is real)
$Formula:="C_Real("+$VarName+")"
: ($type=Is longint)
$Formula:="C_Longint("+$VarName+")"
: ($type=Is Boolean)
$Formula:="C_Boolean("+$VarName+")"
: ($type=Is date)
$Formula:="C_Date("+$VarName+")"
: ($type=Is object)
$Formula:="C_Object("+$VarName+")"
: ($type=Is time)
$Formula:="C_Time("+$VarName+")"
: ($type=Is BLOB)
$Formula:="C_Blob("+$VarName+")"
End case 

EXECUTE FORMULA($Formula)

$0:=Get pointer($VarName)

Use this to get a pointer to the dynamic variable:

$Var_Ptr:=GU_Get_Dynamic_Var ("Foot_Var_"+String($Col_Num)) 

Now pass that pointer instead of a NIL pointer to the footer variable in the 
LISTBOX INSERT COLUMN command.

It's ugly, and it highlight how half-baked this feature is, but that’s the way 
it works right now.

Lahav

-Original Message-
From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Kirk Brooks 
via 4D_Tech
Sent: Thursday, May 11, 2017 11:43 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Kirk Brooks 
Subject: Re: Problems with LISTBOX SET FOOTER CALCULATION and dynamic columns 
(v15)

Hi Olivier,
It's so interesting when someone follows up on a post from a year and a half 
ago.

I haven't used this code in v16 yet. But in general what I've found most 
reliable when fiddling with dynamic variables and listboxes is to let 4D tell 
you what it did by using the LISTBOX GET ARRAYS command.

For example, if I add some arrays immediately after I'll call LISTBOX GET 
ARRAYS and use the array of pointers to the column variables. For whatever 
reason, and there are arguments to be had about why I shouldn't have to do 
this, I can't recall it not working. Same with the footer vars - go ahead and 
pass a nil pointer (easily derived by putting C_POINTER($nil) in your
method) then use the pointer returned by 4D in LISTBOX GET ARRAYS. Like I said, 
'yes, you should be able to pass a pointer and then use that pointer.' 
Sometimes yes, sometimes no. I don't really care - I just get the pointer 
arrays and it always works.

I do this so much I found it handy to make a method that takes a listbox name 
and returns a specified array (colVars, footerVars, headerVars, etc.) so I 
don't have the overhead of directly calling LISTBOX GET ARRAYS.


On Thu, May 11, 2017 at 10:18 PM, Flury Olivier via 4D_Tech < 
4d_tech@lists.4d.com> wrote:

> Kirk & Miyako,
>
> I am struggling with the same problem, works interpreted but not compiled.
> The type of the dynamic footer variable remains "2" (text). Tested 
> with 4D 16.1.
>
> Or did you figure out a way to make it work?
>
> If not, and if this is the way it works (not possible to re-type a 
> dynamic variable), then it makes the feature of inserting a dynamic 
> footer variable to a listbox useless.
>
> Or should I file a bug?
>
> Best,
>
> Olivier
>
> -Ursprüngliche Nachricht-
> Von: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] Im Auftrag von Kirk 
> Brooks
> Gesendet: Dienstag, 29. Dezember 2015 02:31
> An: 4D iNug Technical <4d_tech@lists.4d.com>
> Betreff: Re: Problems with LISTBOX SET FOOTER CALCULATION and dynamic 
> columns (v15)
>
> I'll have to try comping later - deep in dev mode at the moment. Have 
> to finish this section and clean up to compile and test but I'm optimistic.
>
> On Mon, Dec 28, 2015 at 5:22 PM, Keisuke Miyako 
> 
> wrote:
>
> > I guess it is the result of retro-fitting a new feature (i.e. 
> > dynamic listbox using form local variables) without breaking 
> > language
> compatibility.
> >
>
> ​Yep - and I'm always talking about this sort of thing. In fact I even 
> described doing exactly this to Spencer​ for the array but just choked 
> taking it that next little step. Another example of how helpful this 
> forum is.
>
> --
> Kirk Brooks
> San Francisco, CA
> ===
> **
> 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: Anyone using v16 in WAN

2017-04-04 Thread lists via 4D_Tech
Of the sites we are running at, all but the smallest ones exhibit the same 
slowness, non-responsiveness after several days (number of days depended on 
usage load), logged off clients not clearing from the server and occupying 
licenses.  We can actually see the system response time increase as more 
clients are logging in.

 All of the above disappears and work correctly with the legacy network layer. 

I strongly second the assertion that the new network layer is more of a "proof 
of concept" work in progress alpha stage.

Lahav

-Original Message-
From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Herr Alexander 
Heintz via 4D_Tech
Sent: April 4, 2017 7:50 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Herr Alexander Heintz 
Subject: Re: Anyone using v16 in WAN

Am 04.04.2017 um 14:54 schrieb npdennis via 4D_Tech <4d_tech@lists.4d.com>:
> 
>> if you have no issues using the database in user mode over the same network, 
>> then perhaps some methods are choking the network in a way that does not 
>> happen over the legacy layer.
> 
> I found the new net work layer unusable as well. During heavy loads 4D will 
> quit responding. I use legacy network and things work great. This was all 
> done on a LAN not a WAN.

Same here, found the new network layer to be extremely unreliable, switched it 
off everywhere.
Will not try again until 4D tells me they fixed it big time!
The specs and the theory is sure interesting and it would be great, believe me, 
very great, but currently it is at most in a  „proof of concept“ Alpha stage...

**
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: Anyone using v16 in WAN

2017-04-04 Thread lists via 4D_Tech
Of the sites we are running at, all but the smallest ones exhibit the same 
slowness, non-responsiveness after several days (number of days depended on 
usage load), logged off clients not clearing from the server and occupying 
licenses.  We can actually see the system response time increase as more 
clients are logging in.

 All of the above disappears and work correctly with the legacy network layer. 

I strongly second the assertion that the new network layer is more of a "proof 
of concept" work in progress alpha stage.

Lahav

-Original Message-
From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Herr Alexander 
Heintz via 4D_Tech
Sent: April 4, 2017 7:50 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Herr Alexander Heintz 
Subject: Re: Anyone using v16 in WAN

Am 04.04.2017 um 14:54 schrieb npdennis via 4D_Tech <4d_tech@lists.4d.com>:
> 
>> if you have no issues using the database in user mode over the same network, 
>> then perhaps some methods are choking the network in a way that does not 
>> happen over the legacy layer.
> 
> I found the new net work layer unusable as well. During heavy loads 4D will 
> quit responding. I use legacy network and things work great. This was all 
> done on a LAN not a WAN.

Same here, found the new network layer to be extremely unreliable, switched it 
off everywhere.
Will not try again until 4D tells me they fixed it big time!
The specs and the theory is sure interesting and it would be great, believe me, 
very great, but currently it is at most in a  „proof of concept“ Alpha stage...

**
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 Server - Not letting go of users

2017-03-16 Thread lists via 4D_Tech
Hi Randy,

I see this quite a bit, and it has something to do with the new network layer.  
I have reported it to tech support, but never really saw the issues resolved.

The problem goes away if I use the legacy network layer.

Cheers,

Lahav

-Original Message-
From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Randy Engle 
via 4D_Tech
Sent: March 16, 2017 1:25 PM
To: '4D iNug Technical' <4d_tech@lists.4d.com>
Cc: Randy Engle <4d.l...@xc2.us>; bob.mil...@parker.com
Subject: RE: 4D Server - Not letting go of users

Bob,

Yes!
This is what I'm referring to.

How come, why for?
What can we do?  
Anybody got an idea?

Thanks

Randy Engle
XC2 Software LLC


-Original Message-
From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of bob.miller--- 
via 4D_Tech
Sent: Thursday, March 16, 2017 12:05 PM
To: 4d_tech@lists.4d.com
Cc: bob.mil...@parker.com
Subject: Re: 4D Server - Not letting go of users

RE> If a client/user does a force quit (i.e. Task Manager)

Just yesterday I had a problem where we had some 'license count exceeded' 
messages - very rare - and I noticed that we had people who were logged in for 
days.  Some had force-quit and others had simply closed their remote desktop 
sessions, but 4D Server never released them.  This is with Windows v15r4.


Bob Miller
Chomerics, a division of Parker Hannifin 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
**

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