Re: Tab into subform containers and GOTO OBJECT

2017-11-30 Thread Keisuke Miyako via 4D_Tech
I might have misunderstood your question, if that is the case, please ignore.

On Getting Focus on the Container corresponds to On Activate in the Subform.
On Losing Focus on the Container corresponds to On Deactivate in the Subform.

this is documented (Form event).

I can get an On Getting Focus event on subform container2 but not into the
Subform.



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

Sample databases

2017-11-30 Thread Jörg Knebel via 4D_Tech
Hi all,

I must be blind or have the sample databases been removed from the 4D-site?

I’m especially interested in everything “Subform”.

Thanks for all hints.

Cheers

Jörg
**
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: Tab into subform containers and GOTO OBJECT

2017-11-30 Thread truegold via 4D_Tech
Hi Peter,

Yea, I can’t figure it out the correct command. It’s easy to get the focus on 
the container but then I have not been able to figure out what command to use 
to communicate with the subform .

In fact I changed the form so the only object that was table and focusable was 
the subform container1. But tabbing just selects the container.

Anyway, I will persevere as there has got to be a way.

Thanks,
John...

> Probably not. I was able to do this by calling subform in On losing focus 
> and then let subform execute GOTO OBJECT. As I need to jump from subform to 
> subform, messaging need to go through parent area. I do not know if it 
> would work with subforms in subforms. 
> 

> On Getting Focus on the Container corresponds to On Activate in the Subform. 
> On Losing Focus on the Container corresponds to On Deactivate in the Subform. 
> 
> this is documented (Form event). 
> 
> I can get an On Getting Focus event on subform container2 but not into the 
> Subform. 

> Hi All,
>> 
>> This is kind of like the thread that ran "subforms and object focus” when 
>> opening the parent form.
>> 
>> In my case I have a parent form open already and I am tabbing from object to 
>> object. What I want to happen is when I tab to subform container1 I want the 
>> first object (or some object of choice) within it to be selected and ready 
>> for edit.
>> 
>> That parent level subform container1 is the holder of another subform 
>> container2 (because I need to swap subforms within here) which then contains 
>> the subform where I want to set the goto object.
>> 
>> Parent form: subform container1 -> subform container2 -> Subform (here’s 
>> where I want to set GOTO OBJECT)
>> 
>> I can get an On Getting Focus event on subform container2 but not into the 
>> Subform. So then I need to trick the subform to respond to an event. But 
>> this doesn’t work:
>> 
>> EXECUTE METHOD IN SUBFORM($sbfm_Name;"PNL_General";*)
>> 
>> The only way I can get it to select a field or variable is to click within 
>> the subform container object.
>> 
>> So… I must be missing something?
>> 
>> Thanks,
>> John…
>> 
> 
> 
**
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 / Remote 16.2 64-bit macOS 10.12.6 or 10.13

2017-11-30 Thread Chip Scheide via 4D_Tech
in case you were not aware :

MAJOR security issue on OS X 10.13 - anyone can login as Root

http://www.slate.com/blogs/future_tense/2017/11/28/apple_s_high_sierra_operating_system_has_a_bug_allowing_anyone_to_become.html
On Wed, 29 Nov 2017 18:41:24 -0500, Mitchell Shiller via 4D_Tech wrote:
> Hi,
> 
> Any one using 4D Server / Remote 16.2 64-bit  on macOS 10.12.6 or 
> 10.13?  Are the network issues previously reported resolved?
> 
> Thanks
> 
> Mitch
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
---
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: 4D Server / Remote 16.2 64-bit macOS 10.12.6 or 10.13

2017-11-30 Thread Dennis, Neil via 4D_Tech
> MAJOR security issue on OS X 10.13 - anyone can login as Root

Apple put in a patch for this already, just download and install if you haven't 
done so yet.


Neil









--

Privacy Disclaimer: This message contains confidential information and is 
intended only for the named addressee. If you are not the named addressee you 
should not disseminate, distribute or copy this email. Please delete this email 
from your system and notify the sender immediately by replying to this email.  
If you are not the intended recipient you are notified that disclosing, 
copying, distributing or taking any action in reliance on the contents of this 
information is strictly prohibited.

The Alternative Investments division of UMB Fund Services provides a full range 
of services to hedge funds, funds of funds and private equity funds.  Any tax 
advice in this communication is not intended to be used, and cannot be used, by 
a client or any other person or entity for the purpose of (a) avoiding 
penalties that may be imposed on any taxpayer or (b) promoting, marketing, or 
recommending to another party any matter addressed herein.
**
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: The speed penalty for pointers is pretty low compiled

2017-11-30 Thread Jody Bevan via 4D_Tech
Kirk:

You are right how we stick to our old habits. We do though because they have 
proven to work and sticking with them saves a lot of time.

What we have done is to rewrite our shell every so often. The goal is to make 
use of all of the new features of 4D that we can, and to try new ways of doing 
things. We did this over the last year with v16. We really pushed out a lot of 
the way we used to code and did it the new way we decided on. One thing we did 
find is that in uncompiled with Team Developer it was slow. We got concerned. I 
did notice it was also slower on Stand Alone developer but not as bad. We do 
not use global variables on forms (or in our code), use our own dot.notation in 
C_Objects extensively, and use pointers even more than before (and with local 
variables).

We finally decided we had better compile it to see what the end user speed was 
going to be like. We breathed a big sigh of relief as the code executed 
quickly. I suspect that a lot of the new way of coding gets ‘hard coded’ by the 
compiler so that it does not have to take the time to create the item in memory 
- thus the speed increase.

Back to the topic of the thread - rewriting our shell though expensive for us, 
it helps move our mind set, test out new theories, and keep our code up to date 
with the 4D Technology. Testing is critical though. We got bit very badly with 
SQL when it first arrived. Once France got involved they identified the cause 
quickly, and fixed it. Learned a good lesson there - yet again.

Jody


Jody Bevan
ARGUS Productions Inc.
Developer

Argus Productions Inc. 




> On Nov 28, 2017, at 9:17 AM, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Arnaud,
> 
> On Tue, Nov 28, 2017 at 1:26 AM, Arnaud de Montard via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> In the same kind of old belief, the "price to pay" to call a method in
>> compiled mode is very low, but still passing a pointer parameter seems
>> slower than other types of parameters.
>> 
> ​Good point - another vestigial ​programming habit that contributes to
> long, tortuous methods that are complex, hard to debug and fragile.
> 
> ​It is interesting how those of us who've used 4D for a long time and were
> exposed to the "optimization" strategies of 20 years ago managed to so
> deeply ingest them we still habitually use them. I have to say I wish 4D
> was more concerted in suggesting best practices.
> 
> -- 
> 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: 4D Server / Remote 16.2 64-bit macOS 10.12.6 or 10.13

2017-11-30 Thread Jody Bevan via 4D_Tech
When I read that Apple was moving ahead with the new filing system in 10.13 I 
decided to wait that change out - likely until 10.14. Apple tried that once 
before and fell flat. I see that there have been a couple of big problems with 
the new file system - happy I waited. I really appreciate those of you that are 
willing to balance on that thin cutting edge of the future.

Jody Bevan
ARGUS Productions Inc.
Developer

Argus Productions Inc. 




> On Nov 30, 2017, at 9:41 AM, Dennis, Neil via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
>> MAJOR security issue on OS X 10.13 - anyone can login as Root
> 
> Apple put in a patch for this already, just download and install if you 
> haven't done so yet.
> 
> 
> Neil
> 

**
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 / Remote 16.2 64-bit macOS 10.12.6 or 10.13

2017-11-30 Thread John DeSoi via 4D_Tech
Jody,

What big problems are you referring to with the 10.13 file system? Seems fine 
for development with 16.2. I have a test server running 10.13 with 16.2HF1, 
just waiting for the company to make time for testing. If there are no 
complaints, the plan is to move to production with this configuration.

The server has been running automated procedures for weeks. I have not seen the 
DELAY PROCESS hanging bug previously discussed here.

John DeSoi, Ph.D.


> On Nov 30, 2017, at 9:48 AM, Jody Bevan via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> When I read that Apple was moving ahead with the new filing system in 10.13 I 
> decided to wait that change out - likely until 10.14. Apple tried that once 
> before and fell flat. I see that there have been a couple of big problems 
> with the new file system - happy I waited. I really appreciate those of you 
> that are willing to balance on that thin cutting edge of the future.

**
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: Tab into subform containers and GOTO OBJECT

2017-11-30 Thread truegold via 4D_Tech
Hi All,

So…

In subform container2 I have added the command:

EXECUTE METHOD IN SUBFORM($sbfm_Name;"PNL_General_GOTO";*)

And in the method I have a single call:

GOTO OBJECT(varName) 

The execute method seems to be working (I can tell in trace mode) as it is 
called when subform container2 is in focus. But the object is not selected!

In fact I can modify the value of the variable and see the change each time the 
subform container2 is in focus.

varName:= varName +"."
GOTO OBJECT(varName)

Vincent de Lachaux explained something similar  for someone who was replacing a 
Post Click command…

The subform container must be set "Focusable". 
Then, when the container get the focus the form event "On Activate" is 
triggered. 
So when the subform get this event, just do a GOTO object. 

I tried this and I can update the variables contents but GOTO object does not 
simulate a click into the variable.

Any other ideas?

John...

> Hi Peter,
> 
> Yea, I can’t figure it out the correct command. It’s easy to get the focus on 
> the container but then I have not been able to figure out what command to use 
> to communicate with the subform .
> 
> In fact I changed the form so the only object that was table and focusable 
> was the subform container1. But tabbing just selects the container.
> 
> Anyway, I will persevere as there has got to be a way.
> 
> Thanks,
> John...
> 
>> Probably not. I was able to do this by calling subform in On losing focus 
>> and then let subform execute GOTO OBJECT. As I need to jump from subform to 
>> subform, messaging need to go through parent area. I do not know if it 
>> would work with subforms in subforms. 
>> 
> 
>> On Getting Focus on the Container corresponds to On Activate in the Subform. 
>> On Losing Focus on the Container corresponds to On Deactivate in the 
>> Subform. 
>> 
>> this is documented (Form event). 
>> 
>> I can get an On Getting Focus event on subform container2 but not into the 
>> Subform. 
> 
>> Hi All,
>>> 
>>> This is kind of like the thread that ran "subforms and object focus” when 
>>> opening the parent form.
>>> 
>>> In my case I have a parent form open already and I am tabbing from object 
>>> to object. What I want to happen is when I tab to subform container1 I want 
>>> the first object (or some object of choice) within it to be selected and 
>>> ready for edit.
>>> 
>>> That parent level subform container1 is the holder of another subform 
>>> container2 (because I need to swap subforms within here) which then 
>>> contains the subform where I want to set the goto object.
>>> 
>>> Parent form: subform container1 -> subform container2 -> Subform (here’s 
>>> where I want to set GOTO OBJECT)
>>> 
>>> I can get an On Getting Focus event on subform container2 but not into the 
>>> Subform. So then I need to trick the subform to respond to an event. But 
>>> this doesn’t work:
>>> 
>>> EXECUTE METHOD IN SUBFORM($sbfm_Name;"PNL_General";*)
>>> 
>>> The only way I can get it to select a field or variable is to click within 
>>> the subform container object.
>>> 
>>> So… I must be missing something?
>>> 
>>> Thanks,
>>> John…
>>> 
>> 
>> 

**
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: Tab into subform containers and GOTO OBJECT

2017-11-30 Thread truegold via 4D_Tech
Hi Miyako,

Taking a clue from your thoughts I added an On Deactivate in the form method of 
the Subform and it seems to work.

But now I lose the tabbing out of the subform to other objects on the form. 
This fix has the effect of remaining inside the subform as thought it were the 
only object that existed on the form.

In this case maybe that will still work. But there must be an event that would 
allow me to escape from the subform?

Thanks,
John...


> I might have misunderstood your question, if that is the case, please ignore.
> 
> On Getting Focus on the Container corresponds to On Activate in the Subform.
> On Losing Focus on the Container corresponds to On Deactivate in the Subform.
> 
> this is documented (Form event).
> 
> I can get an On Getting Focus event on subform container2 but not into the
> Subform.

**
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: The speed penalty for pointers is pretty low compiled

2017-11-30 Thread Kirk Brooks via 4D_Tech
Hey Jody,
Great post.

On Thu, Nov 30, 2017 at 7:43 AM, Jody Bevan via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> You are right how we stick to our old habits. We do though because they
> have proven to work and sticking with them saves a lot of time.
>
​True but there's retro code that while working and stable is also
un-necessary any more or simply overly complicated because it's relying on
procedures written prior to certain capabilities 4D even had. I wonder how
many folks are still using the old drag and drop commands for instance.


> What we have done is to rewrite our shell every so often. The goal is to
> make use of all of the new features of 4D that we can, and to try new ways
> of doing things. We did this over the last year with v16. We really pushed
> out a lot of the way we used to code and did it the new way we decided on.
> One thing we did find is that in uncompiled with Team Developer it was
> slow. We got concerned. I did notice it was also slower on Stand Alone
> developer but not as bad. We do not use global variables on forms (or in
> our code), use our own dot.notation in C_Objects extensively, and use
> pointers even more than before (and with local variables).
>
> We finally decided we had better compile it to see what the end user speed
> was going to be like. We breathed a big sigh of relief as the code executed
> quickly. I suspect that a lot of the new way of coding gets ‘hard coded’ by
> the compiler so that it does not have to take the time to create the item
> in memory - thus the speed increase.
>
> Back to the topic of the thread - rewriting our shell though expensive for
> us, it helps move our mind set, test out new theories, and keep our code up
> to date with the 4D Technology.

​I agree. I've re-written the main db our company uses three times now in
the last 14 years. Started in 6.8, then jumped to 2004 and then to v13. The
one from '04 to v13 was ​hard. In my case mainly because I took that
opportunity to correct some structural issues that had come up as the scope
of the project increased. It just had to be done. And the benefits are
worth it.

The size of the code base actually shrank. When you implement the newer
functions 4D offers it frequently makes for less code to accomplish the
same things. It also allowed me to position the project to interact more
with other services. The user experience improves and I'm better able to
keep it looking a little more modern than a lot of 4D looks. That's more
important than mere aesthetics. The more I can make my interfaces resemble
the sort of interfaces they see in their browsers the easier it is for them
to use my program.


> Testing is critical though. We got bit very badly with SQL when it first
> arrived. Once France got involved they identified the cause quickly, and
> fixed it. Learned a good lesson there - yet again.
>
​Agreed again. I really do wish 4D did a better job of presenting new
technology. And how they intend us to use it as a place to start. Or
perhaps more to the point how to transition to it. And why. Again I'll
point back to the drag and drop stuff. I recall posting something about how
to implement the new form events and the pasteboard but I was looking at it
from the context of working with the old commands and trying to understand
how adding the new capabilities was a benefit. ​
​Which was a complete waste of time​. Finally someone, probably Miyako or
Josh, flatly told me "just walk away from the old way of doing it - you
don't need it anymore." Duh! Light bulb moment. I'm paraphrasing and it was
probably nicer but that's what I needed to hear to ditch my old way of
looking at it and start fresh.

Personally I think 4D walks a tight line on that sort of stuff - not
wanting to alienate old projects or make it seem like they _have_ to be
re-written. And then, as you say, we've all be bitten by jumping onto
something new only to stumble on to some bug. Well, you know what they say,
if it was easy to write good code every a**hole in the world would be doing
it.

-- 
Kirk Brooks
San Francisco, CA
===

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

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

Re: Tab into subform containers and GOTO OBJECT

2017-11-30 Thread Kirk Brooks via 4D_Tech
Hi John,
I'm curious what the situation is for having multiple embedded subforms
beyond things like widgets for dates and such. Care to talk a little about
what you need to do or why stacked subforms was your choice for it?

On Wed, Nov 29, 2017 at 5:11 PM, truegold via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> Parent form: subform container1 -> subform container2 -> Subform (here’s
> where I want to set GOTO OBJECT)
>

-- 
Kirk Brooks
San Francisco, CA
===

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

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

Re: Tab into subform containers and GOTO OBJECT

2017-11-30 Thread truegold via 4D_Tech
Hi Kirk,

Sure

I have a parent form that is made up (currently) of a toolbar, an area for svg 
drawing, a tab control and a subform container which holds other subform 
containers.

Within the subform container it contains a palette subform container and within 
this contains depending upon the page, various subforms and on those subforms 
they might also contain another subform of a widget.

In this App I am creating templates that will be reused for my needs. Each 
template has hundreds of customized properties that effect the drawing of the 
svg image.

It’s quite complicated!

I had it all worked out (prior to last 4D world) using Object arrays. Then I 
found out that I will need to have a licenses for 4D Spreadsheet (or whatever 
they call it) to use them. Think 4D property editor and that’s what I created.

So now I am redoing it using panes=subform but there will be at least three 
separate palettes which house the panes. And I like this approach because then 
I can include richer UI objects like sliders and the like.

I am trying to create something like an Inspector functionally similar to what 
you will see in OmniGraffle or Curio or many other apps.

Does that make sense?

John...

> Hi John,
> I'm curious what the situation is for having multiple embedded subforms
> beyond things like widgets for dates and such. Care to talk a little about
> what you need to do or why stacked subforms was your choice for it?
> 
> On Wed, Nov 29, 2017 at 5:11 PM, truegold via 4D_Tech <4d_tech@lists.4d.com>
> wrote:
> 
>> Parent form: subform container1 -> subform container2 -> Subform (here’s
>> where I want to set GOTO OBJECT)
**
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: The speed penalty for pointers is pretty low compiled

2017-11-30 Thread Wayne Stewart via 4D_Tech
​Kirk,

​> ​
Agreed again. I really do wish 4D did a better job of presenting new
​ ​
technology.​

​Not wanting to sound like a 4D shill but I think the new blog (
https://blog.4d.com) is fantastic for demonstrating new features.


Regards,

Wayne


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



On 1 December 2017 at 05:05, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> Hey Jody,
> Great post.
>
> On Thu, Nov 30, 2017 at 7:43 AM, Jody Bevan via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > You are right how we stick to our old habits. We do though because they
> > have proven to work and sticking with them saves a lot of time.
> >
> ​True but there's retro code that while working and stable is also
> un-necessary any more or simply overly complicated because it's relying on
> procedures written prior to certain capabilities 4D even had. I wonder how
> many folks are still using the old drag and drop commands for instance.
>
>
> > What we have done is to rewrite our shell every so often. The goal is to
> > make use of all of the new features of 4D that we can, and to try new
> ways
> > of doing things. We did this over the last year with v16. We really
> pushed
> > out a lot of the way we used to code and did it the new way we decided
> on.
> > One thing we did find is that in uncompiled with Team Developer it was
> > slow. We got concerned. I did notice it was also slower on Stand Alone
> > developer but not as bad. We do not use global variables on forms (or in
> > our code), use our own dot.notation in C_Objects extensively, and use
> > pointers even more than before (and with local variables).
> >
> > We finally decided we had better compile it to see what the end user
> speed
> > was going to be like. We breathed a big sigh of relief as the code
> executed
> > quickly. I suspect that a lot of the new way of coding gets ‘hard coded’
> by
> > the compiler so that it does not have to take the time to create the item
> > in memory - thus the speed increase.
> >
> > Back to the topic of the thread - rewriting our shell though expensive
> for
> > us, it helps move our mind set, test out new theories, and keep our code
> up
> > to date with the 4D Technology.
>
> ​I agree. I've re-written the main db our company uses three times now in
> the last 14 years. Started in 6.8, then jumped to 2004 and then to v13. The
> one from '04 to v13 was ​hard. In my case mainly because I took that
> opportunity to correct some structural issues that had come up as the scope
> of the project increased. It just had to be done. And the benefits are
> worth it.
>
> The size of the code base actually shrank. When you implement the newer
> functions 4D offers it frequently makes for less code to accomplish the
> same things. It also allowed me to position the project to interact more
> with other services. The user experience improves and I'm better able to
> keep it looking a little more modern than a lot of 4D looks. That's more
> important than mere aesthetics. The more I can make my interfaces resemble
> the sort of interfaces they see in their browsers the easier it is for them
> to use my program.
>
>
> > Testing is critical though. We got bit very badly with SQL when it first
> > arrived. Once France got involved they identified the cause quickly, and
> > fixed it. Learned a good lesson there - yet again.
> >
> ​Agreed again. I really do wish 4D did a better job of presenting new
> technology. And how they intend us to use it as a place to start. Or
> perhaps more to the point how to transition to it. And why. Again I'll
> point back to the drag and drop stuff. I recall posting something about how
> to implement the new form events and the pasteboard but I was looking at it
> from the context of working with the old commands and trying to understand
> how adding the new capabilities was a benefit. ​
> ​Which was a complete waste of time​. Finally someone, probably Miyako or
> Josh, flatly told me "just walk away from the old way of doing it - you
> don't need it anymore." Duh! Light bulb moment. I'm paraphrasing and it was
> probably nicer but that's what I needed to hear to ditch my old way of
> looking at it and start fresh.
>
> Personally I think 4D walks a tight line on that sort of stuff - not
> wanting to alienate old projects or make it seem like they _have_ to be
> re-written. And then, as you say, we've all be bitten by jumping onto
> something new only to stumble on to some bug. Well, you know what they say,
> if it was easy to write good code every a**hole in the world would be doing
> it.
>
> --
> 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.htm

Re: The speed penalty for pointers is pretty low compiled

2017-11-30 Thread Kirk Brooks via 4D_Tech
Hey Wayne,

On Thu, Nov 30, 2017 at 1:10 PM, Wayne Stewart via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> ​> ​Agreed again. I really do wish 4D did a better job of presenting new
> ​ ​
> technology.​
>
> ​Not wanting to sound like a 4D shill but I think the new blog (
> https://blog.4d.com) is fantastic for demonstrating new features.
>

​You are absolutely correct. Thanks for pointing that out.
Ha, I wind up doing exactly the sort of thing I'm saying not to do.​


-- 
Kirk Brooks
San Francisco, CA
===

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

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

Re: Tab into subform containers and GOTO OBJECT

2017-11-30 Thread Kirk Brooks via 4D_Tech
John,
Yep, it does make sense. Does sound pretty complex.

On Thu, Nov 30, 2017 at 12:27 PM, truegold via 4D_Tech <4d_tech@lists.4d.com
> wrote:

> I had it all worked out (prior to last 4D world) using Object arrays. Then
> I found out that I will need to have a licenses for 4D Spreadsheet (or
> whatever they call it) to use them. Think 4D property editor and that’s
> what I created.
>
​Well two thoughts. First, you can use an object array in a listbox without
4D WritePro or anything else - you just can't display them directly. But so
what? I use an object array frequently in listboxes. Make it the {1} column
and invisible. If I understand what you want to do add two columns: one for
the key and one for the value and make them both text. Now you can just
loop through the rows and write the key and the value (as text). When the
user changes something you just update the c-obj in the #1 column.

Second is I worked out a routine to put c-objects into an hList and allow
the user to edit the values if you prefer to look at it like a c-obj. I'll
be sharing that at my presentation in DC. ​

So now I am redoing it using panes=subform but there will be at least three
> separate palettes which house the panes. And I like this approach because
> then I can include richer UI objects like sliders and the like.
>
> I am trying to create something like an Inspector functionally similar to
> what you will see in OmniGraffle or Curio or many other apps.
>
​Interesting. I'd like to see it in action sometime.

-- 
Kirk Brooks
San Francisco, CA
===

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

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

Re: Tab into subform containers and GOTO OBJECT

2017-11-30 Thread truegold via 4D_Tech
Hi Kirk,

> Does sound pretty complex.

Yep!

> ​Well two thoughts. First, you can use an object array in a listbox without 
> 4D WritePro or anything else - you just can't display them directly.

First I implemented my original design using List box columns working with 
object arrays. My version very much acts like the property editor in design.

http://livedoc.4d.com/4D-Language-Reference-16-R4/List-Box/Using-object-arrays-in-columns-4D-View-Pro.300-3317571.en.html

Actually if you need to use them in a client-server setup you will need 
separate licenses for each user to utilize the behavior. I tried to get 4D to 
make this one feature native to 4D but they said it’s not possible.

Additionally there are limits to what I can do in a cell. So to avoid the first 
issue and expand my UI possibilities I am rewriting months of work. Thus where 
I have arrived! And still trying to understand the ins and outs of multi-level 
deep subforms.

> Second is I worked out a routine to put c-objects into an hList and allow 
> the user to edit the values if you prefer to look at it like a c-obj. I'll 
> be sharing that at my presentation in DC. ​ 

I would’ve also created a session for DC but my son’s wedding redirected my 
time and resources. I was going to show/explain my property editor and then the 
panel approach as well. But alas…

I love objects! They allow me to create organized messes - much like my desk - 
where I can get a moot done! 

JOhn…

**
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 Debug Log Reader - Plugin Commands

2017-11-30 Thread Allan Udy via 4D_Tech

Hi Justin,

Justin previously determined that this is the case, and in his Log 
Parsing database that we're using, the plugin command ID's are assumed 
to start with  3;YYY.


Through a bit of trial and error I can now say with reasonable certainty 
that in v16 at least, the plugin Commands now appear to start with 1, 
rather than 3 as was necessary in previous versions of your Debug Log 
Reader.


A few of the Plugin commands showing up in my Debug Log files take 
parameters, and so it's relatively straight forward to match them up 
with the actual commands used in the source.  It was just a matter of 
re-parsing the source Plug-in folder with a different starting ID no 
each time until the database then indicates that the Plugin calls are 
from 4D Internet Commands.


Cheers,
Allan Udy

Golden Micro Solutions Ltd, Blenheim, New Zealand
http://www.golden.co.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
**

EX_IS_PROCESS_DYING ?

2017-11-30 Thread Allan Udy via 4D_Tech

Hi All,

In working through my recent DebugLogs, in order to find a reason why 4D 
Remotes are being disconnected from the server application, I've come 
across a few instances of the following (in the Logs):


4D Internet Commands:  EX_IS_PROCESS_DYING(Command ID  2;414)


This is being called (and recorded in the Log) over 220,000 times  in 
the space of a couple of seconds!  This seems a bit excessive to me...


Does anyone know if this is normal behaviour or not?  Does anyone know 
when/why this call is made?


Cheers,
Allan Udy

Golden Micro Solutions Ltd, Blenheim, New Zealand
http://www.golden.co.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: 4D Debug Log Reader - Plugin Commands

2017-11-30 Thread Justin Carr via 4D_Tech
On 1 Dec 2017, at 11:28 am, Allan Udy via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
>> Justin previously determined that this is the case, and in his Log Parsing 
>> database that we're using, the plugin command ID's are assumed to start with 
>>  3;YYY.
> 
> Through a bit of trial and error I can now say with reasonable certainty that 
> in v16 at least, the plugin Commands now appear to start with 1, rather than 
> 3 as was necessary in previous versions of your Debug Log Reader.
> 
> A few of the Plugin commands showing up in my Debug Log files take 
> parameters, and so it's relatively straight forward to match them up with the 
> actual commands used in the source.  It was just a matter of re-parsing the 
> source Plug-in folder with a different starting ID no each time until the 
> database then indicates that the Plugin calls are from 4D Internet Commands.

Hi Allan

I wish it were always so. I've just generated some logs using v16R5 and the 
plugins are starting from 3 in them. Maybe it's application-specific. Or maybe 
it's different for server/client/solo (these were client logs).

Anyway, the update I posted to github the other day makes it a little less 
painful to change the plugin numbers - a right-click lets you renumber them all 
in one go and you don't need to reparse the logs files to see the changes - 
just rebuild the hiererchical command list (by holding down the Shift key when 
selecing them) for any processes you've already examined.

cheers
J
**
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: EX_IS_PROCESS_DYING ?

2017-11-30 Thread Keisuke Miyako via 4D_Tech
> Does anyone know if this is normal behaviour or not?
> Does anyone know when/why this call is made?

the call is made if the function PA_IsProcessDying() is called in the plugin
http://sources.4d.com/trac/4d_4dpluginapi/wiki/EntryPoints.h.htm

it is basically the equivalent of the native 4D command "Process aborted"
http://doc.4d.com/4Dv15/4D/15.5/Process-aborted.301-3577513.en.html

you need to identify which plugin command supposedly has that function inserted 
in each iteration of an intense loop.
personally I would not write code like that, maybe use a new thread or yield 
every n iterations.

but if the code is written like that,
then I guess that is normal in the sense that bad code does bad things.

if you can identify the offending IC function,
and there is a viable replacement,
that might be your best shot.

Internet Commands is by no ways deprecated, but it is also a very old piece of 
work.




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

New Log Parser says : this doesnt make sense

2017-11-30 Thread Piotr Chabot Stadhouders via 4D_Tech
Hi,

I am trying to use the new Log Parser, but without success

First of all, when I start logging I have 10 files of 10MB each within 1 
minute, but that's not the problem (or is it)

After loading the log files, I open the Process with the most (+200.000) debug 
entries.
After a while a get into a TRACE at the following code :

(alOpType{$a}<0) // stack level increase // negative operation means closing a 
previous call TRACE // this doesnt make sense

Does anybody know what this means?
Does it point to a problem in My code, or it it a problem of the Log Parser 
itself?

Gr,

Piotr

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