Re: How to not close all windows on restart - v16

2017-02-20 Thread Douglas von Roeder via 4D_Tech
I've uploaded some pix of a "workspace palette" that I use.

It doesn't solve the issue that Kirk has reported but it is a handy
creating open groups of methods. In the first pix
, work is tracked at
the issue level so it allows me to quickly open groups of methods that were
used for any given issue. The second pix
 is from a
multi-developer environment where we differentiate our workspaces by naming
each workspace with the initials of the programmer.

The grid at the top lists the different workspaces which, when clicked on,
reveal the method names that belong to the workspace. Double clicking the
workspace name opens the listed methods, each method in its own window.

Nothing fancy but highly effective.


--
Douglas von Roeder
949-336-2902

On Sun, Feb 19, 2017 at 4:52 PM, Keisuke Miyako via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I understand.
>
> my post was in reply to Kirk's comment (4DPOP constants module to restart)
> but sure, I would imagine there is no difference how the same command is
> used,
> inside a component or directly.
>
> > 2017/02/20 7:09、David Adams via 4D_Tech <4d_tech@lists.4d.com> のメール:
> > I'm not using 4D Pop in this case, I'm calling this line of code:
> > *OPEN DATABASE*(*Structure file*)
>
>
>
>
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
>
**
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: Detecting if 4D is Frontmost App

2017-02-17 Thread Douglas von Roeder via 4D_Tech
Cannon

If you're on the Mac, you might be able to get that info using Applescript.

This is from the payback machine so I don't remember the details. Check the
NUG archives for this "applescript".

I needed to bring 4D to the front when I was working in an all Mac shop and
I ended up doing it with an Applescript. I realize that's bassackwards for
what you're trying to do but it might get you headed in the right
direction.



--
Douglas von Roeder
949-336-2902

On Fri, Feb 17, 2017 at 1:20 PM, Cannon Smith via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Is there a way to detect whether 4D is the frontmost application? I have a
> small status window that I show/hide from time to time and am finding that
> if 4D is hidden, when I call SHOW WINDOW, 4D comes becomes the frontmost
> application which is really annoying. I’m thinking that if I can detect
> whether 4D is frontmost, I can choose whether or not to show the window at
> all. If anyone has other ideas, I’m open to them.
>
> Thanks.
>
> --
> Cannon.Smith
> Synergy Farm Solutions Inc.
> Hill Spring, AB Canada
> 403-626-3236
> 
> 
>
>
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: 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: Detecting if 4D is Frontmost App

2017-02-17 Thread Douglas von Roeder via 4D_Tech
Jeffrey:

You nailed it - docs in 8.1.2 list

   -

   sys_IsAppFrontmost


--
Douglas von Roeder
949-336-2902

On Fri, Feb 17, 2017 at 3:15 PM, Jeffrey Kain via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> And I thought the Win32API plug-in had a command to do this, but I'm not
> 100% certain...
>
> Jeff
>
> --
> Jeffrey Kain
> jeffrey.k...@gmail.com
>
> > On Feb 17, 2017, at 4:49 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > If you're on the Mac, you might be able to get that info using
> Applescript.
> >
> > This is from the payback machine so I don't remember the details. Check
> the
> > NUG archives for this "applescript".
>
> **
> 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: Detecting if 4D is Frontmost App

2017-02-17 Thread Douglas von Roeder via 4D_Tech
Cannon:

Oh, *that* command!

They hid it right there in the docs! :-)



--
Douglas von Roeder
949-336-2902

On Fri, Feb 17, 2017 at 3:26 PM, Cannon Smith via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Thanks to everyone who replied. I just remembered that 4D has an On System
> Event database method that fires whenever the application moves to the
> front or back. I think I’ll just track the changes here.
>
> Thanks again for all the ideas!
>
> --
> Cannon.Smith
> Synergy Farm Solutions Inc.
> Hill Spring, AB Canada
> 403-626-3236
> 
> 
>
>
> > On Feb 17, 2017, at 4:15 PM, Jeffrey Kain via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > And I thought the Win32API plug-in had a command to do this, but I'm not
> 100% certain...
>
> **
> 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: Virtualization - Yea or Nay

2017-02-27 Thread Douglas von Roeder via 4D_Tech
Many thanks to everyone who replied.
The consensus appears to be that 4D can work well as long as the resources
(dollars and expertise) are expended to make it work. I'm *all* for that.
Based on the feedback here, I think I've can provide my client with a sound
basis to make a technological decision.

--
Douglas von Roeder
949-336-2902

On Mon, Feb 27, 2017 at 1:41 PM, Chuck Miller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> My thoughts exactly. I had a client that was using VMs for both
> development and production. All was AOK until they wrote a custom plugin.
> While testing the plugin on my machine single user all worked great. While
> testing on virtual. It simply did not work. I spent about 4 weeks trying to
> fix a problem that was fixed when we changed the test server to run in a
> non virtual mode. Voila everything worked. Any time VM’s are used for
> production I would very  leery  unless the support for the VM is very very
> experienced in setup, maintenance, and fixes.
>
> Regards
>
> Chuck
> 
> 
>  Chuck Miller Voice: (617) 739-0306
>  Informed Solutions, Inc. Fax: (617) 232-1064
>  mailto:cjmillerinformed-solutions.com
>  Brookline, MA 02446 USA Registered 4D Developer
>Providers of 4D and Sybase connectivity
>   http://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.
>
> > On Feb 27, 2017, at 3:41 PM, Tim Nevels via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > On Feb 27, 2017, at 2:00 PM, Douglas von Roeder wrote:
> >
> >> The company underwent an unsuccessful virtualization effort a few years
> ago
> >> (prior to my involvement) when they were using 4D 2004. The IT personnel
> >> involved with that effort are not longer with the company and the
> current
> >> staff has assured my client that they will "do it right this time".
> >>
> >> I would appreciate your thoughts, insights, and real-world experiences
> on
> >> this topic.
> >
> > The line that sent chills down my spine was “they will ‘do it right this
> time’”. This is a very telling comment.
> >
> > I have death with 3 virtual environments that are running 4D Server
> applications. 2 were custom designed and installed by a third party vendor.
> The vendor chose all the equipment, their personnel installed all the
> hardware and software, they configured everything. They solved all the
> problems and performance issues with the new setup. These two virtual
> environments are fast and 4D Server runs great on them. Everyone was happy
> with the final result. They paid big 5 figures for the VM, but it was worth
> it.
> >
> > But one environment was built by the in-house “IT guys”. Long story
> short, performance is not as good. They have periods durning the day when
> things “just get slow for a while” then they get better. Network problems.
> Some things work fine. Some things don’t works so fine. The “IT guys” built
> it, so they have to fix it, and they don’t know what more they can do to
> make it better. (And heaven forbid they call an “expert” to help out.)
> >
> > You can be certain that 4D Server/4D Client runs just fine in a good VM.
> But a bad VM or a marginal VM can result in poor performance and other
> problems with 4D. And the “IT guys” will always say “it is just a 4D issue,
> 4D is crap software that is why it runs bad in our VM”. That will be a
> false statement. But the “IT guys” built this VM so it is fantastic and can
> not be made better than how it is now. So you will just have to live with
> the way 4D runs in the VM.
> >
> > I hope your “IT guys” are atypical and much better than most.
> >
> > Tim
> >
> > 
> > Tim Nevels
> > Innovative Solutions
> > 785-749-3444
> > timnev...@mac.com
> > 
> >
> > **
> > 4D Internet Users Group (4D iNUG)
> > FAQ:  http://lists.4d.com/faqnug.html
> > Archive:  http://lists.4d.com/archives.html
> > Options: http://lists.4d.com/mailman/options/4d_tech
> > Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> > 

Virtualization - Yea or Nay

2017-02-26 Thread Douglas von Roeder via 4D_Tech
My reason for posting this message is to solicit feedback on the pros and
cons of moving an existing system to a virtual environment. The IT
department at a client site is pushing a client to virtualize their 4D
system and I've been asked to provide input.

I have done a bit of research into the pros and cons of this issue over the
last few years and realize that are many reasons to virtualize and that
there can be a benefit to the end user.

The current system supports 10 LAN users, plus 25 remote users who
synchronize over a VPN. They're running 4D V13 on a newish, dedicated i7
Win7 install with SSD's and plenty of RAM. The system does not undergo
heavy load except during the synchronization process. The synch code will
be optimized after the V15 upgrade later this year.

I do not know the proposed configuration of the virtual environment.

In a short, my understanding is that 4D can work well in a virtual
environment providing that the VM is configured for OLTP. The hallmarks of
that configuration appears to be use of SSD's as the primary drives,
apparently acting in a caching function, and as well as optimization to
support small block transfers (2k? 8k?).

The company underwent an unsuccessful virtualization effort a few years ago
(prior to my involvement) when they were using 4D 2004. The IT personnel
involved with that effort are not longer with the company and the current
staff has assured my client that they will "do it right this time".

I would appreciate your thoughts, insights, and real-world experiences on
this topic.

--
Douglas von Roeder
949-336-2902
**
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/4D Client runs just fine in a good VM

2017-02-28 Thread Douglas von Roeder via 4D_Tech
Jeremy:

I've been using Fusion or Parallels for about a decade. I'm using Parallels
now and I'm allocating 4GB to Windows, 4 cores, and 1GB of video RAM (5k
monitor).



--
Douglas von Roeder
949-336-2902

On Tue, Feb 28, 2017 at 10:52 AM, Jeremy French via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> What are the versions of Parallels VM and macOS host? How much RAM did you
> specify in the virtual machine? (For setting, see Actions -> Config ->
> "Hardware" tab -> "CPU & Memory” theme.)
>
> > On Feb 28, 2017, at 11:32 AM, Jim Medlen via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > I am using Parallels on Mac OS X to host a VM running Windows 10 to test
> > the 4D v15 client ….  I am experiencing sporadic crashes when running 4D
> client on this VM
> > and the same 4D Methods run without issues on a Dell or Mac Desktop.
>
> **
> 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: v13 anyone printing 'raw' listboxes?

2017-03-24 Thread Douglas von Roeder via 4D_Tech
Chip:

Check out the home page - http://4dtoday.com

--
Douglas von Roeder
949-336-2902

On Fri, Mar 24, 2017 at 12:22 PM, Chip Scheide via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I am trying and getting nothing
>
> any pointer appreciated
>
> Thanks
> ---
> Gas is for washing parts
> Alcohol is for drinkin'
> Nitromethane is for racing
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: 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: CALL FORM: Some notes on a command that's easy to misunderstand

2017-03-17 Thread Douglas von Roeder via 4D_Tech
Justin:

Interesting approach - thank you for posting that.

Lacking "callers" and C_Object, I've been using On outside call +
ObjectTools + IP messaging based on the ITK message queuing system. I'm not
sure if this is germane to Call form/worker but I include a "reply to ID"
in the message that's sent. Most of the time, if the called code needs to
reply, the reply is directed to the calling process but there are times
when I've wanted the called code to pass the result to another process.


My projects are just moving to 15.x now so Call worker/call form are still
a bit out of reach for me but I'm glad to see that these have been added to
the language. They're a natural outgrowth of OOC, Call subform container,
etc., and we *finally* have a way to communicate with those windows opened
in the asterisk.



--
Douglas von Roeder
949-336-2902

On Fri, Mar 17, 2017 at 12:22 AM, Justin Carr via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> OK, so it's Friday afternoon and I've got a few moments while I sup on a
> cold bevvy. David & I kind of got the fervour about CALL FORM/WORKER at the
> same time and this is one of the things about them that really captured our
> imagination.
>
> We are using CALL FORM and CALL WORKER to automate unit testing of our
> forms. This has been something we've been wanting to do for a very long
> time but has been impossible or at the very least impractical prior to the
> introduction of these two commands.
>
> There is very little cost to setting it up if you implement your form and
> object methods as separate project methods, and if you use meaningful names
> for the objects on the form.
>
> The beauty of this system is that the forms and their associated methods
> are driven completely externally, so they need to have absolutely no extra
> logic built in to handle the messaging. Furthermore, the control methods
> for driving it are completely generic. The only thing that needs any
> knowledge of the form interactions is the method that's describing the unit
> tests.
>
> We have a small number of message types that can be sent to the form.
> These are things like:
>  - set a value (could apply to any object on the form, e.g. field, button,
> checkbox, listbox, etc.)
>  - delay for a number of ticks
>  - trigger a form or object event
>
> These messages are created as C_OBJECTs, e.g. we have a method
> UT_UIMessageSetTextValue. This takes an object name and a text value as
> parameters and returns a C_OBJECT representing that message. We have
> methods to set different data types, trigger a form or object event, delay,
> etc. We can then create a queue of these messages and send them to a worker
> process for delivery to the form (window). We have a generic method to do
> all of this, which takes one or more of the C_OBJECT messages, creates
> another C_OBJECT containing the current process number and an OBJECT ARRAY
> of the supplied messages, and then passes that object (using CALL WORKER)
> to a worker process.
>
> So a simple example of driving a wrapper for the Request dialog might look
> like this:
>
>
> $vT_ExpectedResult:="Some Value"
> UT_UIMessageQueue(\
> UT_UIMessageSetTextValue ("Response_Fld";$vT_ExpectedResult);\
> UT_UIMessageDelay (30);\
> UT_UIMessageSetLongintValue ("OK_Btn";1);\
> UT_UIMessageTriggerEvent ("DLG_RequestFM";On Clicked))
>
> $vT_ActualResult:=WRAP_Request ("Enter a value")
>
> ASSERT($vT_ActualResult=$vT_ExpectedResult;"Unexpected response")
>
>
> The worker process determines the correct window reference (the frontmost
> window for the process contained in the C_OBJECT it receives), waits for
> that window to load, and iterates through the queue of C_OBJECTS. If it's a
> delay message, the delay is actually performed in the worker. If it's an
> event, the form or object's project method is called using CALL FORM,
> passing the event to be triggered. Otherwise the message is sent to a
> "broker" method using CALL FORM which sets the requested object value.
>
> It sounds complicated, trying to write it all out, but the framework is
> actually beautifully simple. It just consists of a handful generic methods,
> none of which extends to more than about 40 lines of code:
>
> - UT_UIMessageSetValue
> - UT_UIMessageDelay
> - UT_UIMessageTriggerEvent
> - UT_UIMessageQueue
> - UT_UIWorker
> - UT_UIBroker
>
> And strictly speaking the delay capability is probably not necessary, but
> it's kinda cool watching the form objects update as if by magic in front of
> your eyes.
>
> Oh and +1 for the proposed command name changes - definitely clarifies the
> functions of these two commands.
>
> Regards
> Justin Carr
> Genie Solutions
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> 

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

2017-03-17 Thread Douglas von Roeder via 4D_Tech
David:

I'll read up on the web sockets - when I first saw that I misread it for
"WebObjects". A cold chill ensued.

C_Object is a great addition to the language. Agree that it doesn't do
everything that OT does but that why we have wrapper routines. I've
extended Cannon's OBJ_Module with OBJ_SetArray_Text/Long/Real and a few
other array commands and I can get a lot done with C_Object that I'm doing
in OT. The biggest benefits - scope/garbage collection and the content of a
C_Object is visible in the debugger. Those are "bloody mavhelous".

"you're tossing blocks of code at the end of the thread of control over
there for one-off execution."
Excellent way to phrase it. And the emphasis is on "over there" because the
code executes in the context of the destination form.

"execute in form" similar to "execute on client"

"On Outside Call was always documented as being unreliable while CALL FORM
/ CALL WORKER guarantee delivery."
OOC worked well form me, as far as I know (emphasis on the "AFAIK").
I did have to tweak my original code to work in a Repeat loop, as you say,
Call form/Call worker will always get through so there's no need to jump
through hoops (loops) to make sure the message arrived.


"NTK's IPC channels easier" - agreed. I"m using an array-based derivative
of that approach (taken from ITK about 20 years ago) with a change in
2000-01 and that's it. Highly reliable and zero maintenance but it doesn't
allow me to get to a specific form…which is what's needed to get at the *
dialog. Very nice to have multiple active windows in a process but
disappointing that I couldn't get to it with a message.


"You mention that you're doing message routine. This can be pretty darn
impossible to trace or debug if there's nothing in the message about the
path that it has followed."
I only had to chase messages "down a rabbit hole" a few times over the
years. Two ways of reducing the odds of that happening - one of the
properties of a message will allow the message and its metadata to be
displayed added to arrays displayed in a grid. I needed that to debug some
code that had become very involved and the end result is that it helped
force me to rethink my approach.

The other technique that I've used it a bit dated now but was very helpful
before V11, back in the dark ages when "Find in design" was dreadfully
slow. That situation convinced me to use IP vars in the message. From
*MSGIP_Vars_Init*:

C_TEXT(<>MSG_InsertCarriageReturn)
<>MSG_InsertCarriageReturn:="<>MSG_InsertCarriageReturn"

 C_TEXT(<>MSG_ProposalIsLocked)
<>MSG_ProposalIsLocked:="Proposals_is_Locked"

 C_TEXT(<>MSG_BringToFront)
<>MSG_BringToFront:="<>MSG_BringToFront"

C_TEXT(<>MSG_Close)
<>MSG_Close:="<>MSG_Close"

C_TEXT(<>PROC_Activated)
<>PROC_Activated:="<>PROC_Activated"


From On Outside call:
Repeat

C_LONGINT($msgHandle_L)
$msgHandle_L:=MSGIP_Message_Get (Current process)

C_TEXT($msg_T)
$msg_T:=MSGIP_TextMessage_Get ($msgHandle_L;False)

Case of
: ($msg_T=<>MSG_BringToFront)
PROC_ResumeAndBringToFront (Current process)

: ($msg_T=<>MSG_Close)
CANCEL
End case

MSGIP_Message_Clear ($msgHandle_L)

Until (MSGIP_MessageCount_Get (Current process)=0)


To your point about the provenance of the message, another significant
argument for an object without which it would be gruesome to try to add
that sort of data to…a BLOB?! No interest in the level of mental gymnastics…

Time to have a looksee here - http://forums.4d.fr/Post/EN/
19129127/1/19129128


--
Douglas von Roeder
949-336-2902

On Fri, Mar 17, 2017 at 2:18 PM, David Adams via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> > Interesting approach - thank you for posting that.
>
> DvR: You, of all people, will *love* this approach.
>
> > Lacking "callers" and C_Object, I've been using On outside call +
> > ObjectTools + IP messaging based on the ITK message queuing system.
>
> Once you have access to V16, you may find:
>
> * You like C_OBJECT because it's very fast and native. But it won't do
> everything that ObjectTools does.
>
> * You may still want to use IPC channels from NTK. They're traditional
> messages, easily support a wider range of messaging patterns, and can be
> used to-from anywhere.
>
> * CALL FORM/CALL WORKER are great! You'll love them. On Outside Call was
> always documented as being unreliable while CALL FORM / CALL WORKER
> guarantee delivery. (Unless you kill a worker, kill a process, kill 4D, or
> crash. But, hey, that's pretty reasonable for a lot of situations.)
>
> > I'm not sure if this is germane to Call form/worker but I include a
> "reply to ID"
> > in the message that's sent.
>
> Yes, that can be entirely relevant. These 'calls' aren't a channel, you're
> tossing blocks of code at the end of the thread of control over there for
> one-off execution. There is no return message. You can send along callback
> details if, for example, you need a result. There are times when you'll
> find NTK's IPC channels easier. And, yes, message discipline is _super_
> beneficial. 

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

2017-03-17 Thread Douglas von Roeder via 4D_Tech
David:

Just read the feature request thread for WebSockets and I'm pretty certain
I voted for it (clicked 4 stars on the first message in the thread).

WebSocket fits well into the concepts of Call worker/form in that it's
providing developers with more granular connections and, hence more
granular control, over how data is requested and supplied. That would be a
very welcome addition to the 4D toolset.


--
Douglas von Roeder
949-336-2902

On Fri, Mar 17, 2017 at 3:02 PM, Douglas von Roeder 
wrote:

> David:
>
> I'll read up on the web sockets - when I first saw that I misread it for
> "WebObjects". A cold chill ensued.
>
> C_Object is a great addition to the language. Agree that it doesn't do
> everything that OT does but that why we have wrapper routines. I've
> extended Cannon's OBJ_Module with OBJ_SetArray_Text/Long/Real and a few
> other array commands and I can get a lot done with C_Object that I'm doing
> in OT. The biggest benefits - scope/garbage collection and the content of a
> C_Object is visible in the debugger. Those are "bloody mavhelous".
>
> "you're tossing blocks of code at the end of the thread of control over
> there for one-off execution."
> Excellent way to phrase it. And the emphasis is on "over there" because
> the code executes in the context of the destination form.
>
> "execute in form" similar to "execute on client"
>
> "On Outside Call was always documented as being unreliable while CALL
> FORM / CALL WORKER guarantee delivery."
> OOC worked well form me, as far as I know (emphasis on the "AFAIK").
> I did have to tweak my original code to work in a Repeat loop, as you say,
> Call form/Call worker will always get through so there's no need to jump
> through hoops (loops) to make sure the message arrived.
>
>
> "NTK's IPC channels easier" - agreed. I"m using an array-based derivative
> of that approach (taken from ITK about 20 years ago) with a change in
> 2000-01 and that's it. Highly reliable and zero maintenance but it doesn't
> allow me to get to a specific form…which is what's needed to get at the *
> dialog. Very nice to have multiple active windows in a process but
> disappointing that I couldn't get to it with a message.
>
>
> "You mention that you're doing message routine. This can be pretty darn
> impossible to trace or debug if there's nothing in the message about the
> path that it has followed."
> I only had to chase messages "down a rabbit hole" a few times over the
> years. Two ways of reducing the odds of that happening - one of the
> properties of a message will allow the message and its metadata to be
> displayed added to arrays displayed in a grid. I needed that to debug some
> code that had become very involved and the end result is that it helped
> force me to rethink my approach.
>
> The other technique that I've used it a bit dated now but was very helpful
> before V11, back in the dark ages when "Find in design" was dreadfully
> slow. That situation convinced me to use IP vars in the message. From
> *MSGIP_Vars_Init*:
>
> C_TEXT(<>MSG_InsertCarriageReturn)
> <>MSG_InsertCarriageReturn:="<>MSG_InsertCarriageReturn"
>
>  C_TEXT(<>MSG_ProposalIsLocked)
> <>MSG_ProposalIsLocked:="Proposals_is_Locked"
>
>  C_TEXT(<>MSG_BringToFront)
> <>MSG_BringToFront:="<>MSG_BringToFront"
>
> C_TEXT(<>MSG_Close)
> <>MSG_Close:="<>MSG_Close"
>
> C_TEXT(<>PROC_Activated)
> <>PROC_Activated:="<>PROC_Activated"
>
>
> From On Outside call:
> Repeat
>
> C_LONGINT($msgHandle_L)
> $msgHandle_L:=MSGIP_Message_Get (Current process)
>
> C_TEXT($msg_T)
> $msg_T:=MSGIP_TextMessage_Get ($msgHandle_L;False)
>
> Case of
> : ($msg_T=<>MSG_BringToFront)
> PROC_ResumeAndBringToFront (Current process)
>
> : ($msg_T=<>MSG_Close)
> CANCEL
> End case
>
> MSGIP_Message_Clear ($msgHandle_L)
>
> Until (MSGIP_MessageCount_Get (Current process)=0)
>
>
> To your point about the provenance of the message, another significant
> argument for an object without which it would be gruesome to try to add
> that sort of data to…a BLOB?! No interest in the level of mental gymnastics…
>
> Time to have a looksee here - http://forums.4d.fr/Post/EN/
> 19129127/1/19129128
>
>
> --
> Douglas von Roeder
> 949-336-2902 <(949)%20336-2902>
>
> On Fri, Mar 17, 2017 at 2:18 PM, David Adams via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
>> > Interesting approach - thank you for posting that.
>>
>> DvR: You, of all people, will *love* this approach.
>>
>> > Lacking "callers" and C_Object, I've been using On outside call +
>> > ObjectTools + IP messaging based on the ITK message queuing system.
>>
>> Once you have access to V16, you may find:
>>
>> * You like C_OBJECT because it's very fast and native. But it won't do
>> everything that ObjectTools does.
>>
>> * You may still want to use IPC channels from NTK. They're traditional
>> messages, easily support a wider range of messaging patterns, and can be
>> used to-from anywhere.
>>
>> * CALL FORM/CALL WORKER are great! You'll love them. On Outside 

Re: ALP scrollbars appear on another form

2017-03-20 Thread Douglas von Roeder via 4D_Tech
Doug:

You're very welcome.

--
Douglas von Roeder
949-336-2902

On Mon, Mar 20, 2017 at 12:54 PM, Doug Hall via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Will do. Thanks, Douglas!
>
> On Mon, Mar 20, 2017 at 1:52 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > Doug:
> >
> > Older versions of ALP/4D (ALP8.X) required that you set the horizontal
> and
> > vertical scroll bars to -3.
> >
> > With newer versions, call AL_SetAreaLongProperty($eList;
> > ALP_Area_Visible;0)
> > to hide or AL_SetAreaLongProperty($eList;ALP_Area_Visible;1) to show the
> > area.
> >
> > Check the ALP docs for "ghost" scrollbars in the appendix
> "Troubleshooting
> > and FAQS".
> >
> >
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> >
> > On Mon, Mar 20, 2017 at 11:38 AM, Doug Hall via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> > > I go into one form that includes a few ALP areas. I double-click on a
> > > record displayed in one of them, which leads to another form. This form
> > > still has two empty vertical scrollbars from the ALP areas on the
> > previous
> > > form. Anyone know how to fix this?
> > >
> > > Thanks,
> > > Doug Hall
> > > **
> > > 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
> **
>
**
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: Larry Sharpe

2017-03-15 Thread Douglas von Roeder via 4D_Tech
Lee:

Sorry to hear about this.

RIP, Larry.

--
Douglas von Roeder
949-336-2902

On Wed, Mar 15, 2017 at 3:07 PM, Tom Dillon via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Goodnight Larry. Sweet dreams.
>
> --
>--
>Tom Dillon   825 N. 500 W.
>DataCraft   Moab, UT 84532
>tomdil...@datacraft-inc.com   720/209-6502
>--
>   The butterfly will only land on you after you stop
>   grabbing for it. --- Sunastar
>--
>
>
> **
> 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: ALP scrollbars appear on another form

2017-03-20 Thread Douglas von Roeder via 4D_Tech
Doug:

Older versions of ALP/4D (ALP8.X) required that you set the horizontal and
vertical scroll bars to -3.

With newer versions, call AL_SetAreaLongProperty($eList;ALP_Area_Visible;0)
to hide or AL_SetAreaLongProperty($eList;ALP_Area_Visible;1) to show the
area.

Check the ALP docs for "ghost" scrollbars in the appendix "Troubleshooting
and FAQS".



--
Douglas von Roeder
949-336-2902

On Mon, Mar 20, 2017 at 11:38 AM, Doug Hall via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I go into one form that includes a few ALP areas. I double-click on a
> record displayed in one of them, which leads to another form. This form
> still has two empty vertical scrollbars from the ALP areas on the previous
> form. Anyone know how to fix this?
>
> Thanks,
> Doug Hall
> **
> 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: delete or truncate

2017-04-04 Thread Douglas von Roeder via 4D_Tech
Steve:

Very good point about a transaction.

Reading Chuck's posting, I got the impression that this would be done on an
"as needed" basis.

To me, Truncate table is sort of the "Holy Hand Grenade", sort of like in
the 4D Server betas when Array to selection would delete records.


--
Douglas von Roeder
949-336-2902

On Tue, Apr 4, 2017 at 11:19 AM, Stephen J. Orth via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Tim,
>
> It appears to be back up again, but it was down for a bit, along with the
> 4D website.
>
>
> Steve
>
> -Original Message-
> From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Timothy
> Penner via 4D_Tech
> Sent: Tuesday, April 04, 2017 1:16 PM
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Cc: Timothy Penner 
> Subject: RE: delete or truncate
>
> > I like the TRUNCATE TABLE command, but I'm thinking this cannot be used
> within a transaction.
>
> " No transaction must be underway in the process executing TRUNCATE TABLE.
> If this if the case, the command does nothing and the OK system variable is
> set to 0"
>
> > 4D's documentation website is down, otherwise I would have confirmed
> this first.
>
> Doc Center is up:
> http://doc.4d.com/4Dv16/4D/16/TRUNCATE-TABLE.301-3037064.en.html
>
> -Tim
>
> **
> 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: delete or truncate

2017-04-04 Thread Douglas von Roeder via 4D_Tech
Chuck:

I'd go with truncate.

It's a command whose function is to clear all the tablespace allocated to
records in a given table along with the associated indexes.

Delete selection is used to delete one or more records, ensuring that
indexes and relational integrity constraints are enforced for each record
deleted.

I've used truncate a couple of times and it's *very* fast. In a V13 system,
Truncate table deleted 10 GB of tablespace//11MM records in 10 seconds
(MacBook Pro with SSD).



--
Douglas von Roeder
949-336-2902

On Tue, Apr 4, 2017 at 10:43 AM, Charles Miller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I seem to remember a tech note or example that would fix index problems
> that you would have when deleting most of the record in a able or or
> truncating it. I can not seem to find it. I wanted to make sure that if we
> run a repair after doing this that all will be as it should. The two tables
> we are truncating grow quite large. One for example now has more than
> 30,000,000 records
>
> We are running v15.
>
> Can anyone point me in the right direction
>
> Thanks and regards
> Chuck
>
> --
> 
> -
>  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 Sever connectivity
>   http://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)
> 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 Compiler

2017-04-06 Thread Douglas von Roeder via 4D_Tech
Nigel:

A couple of thoughts on this…

I couldn't find this documented but 4D's compiler does three "passes"
through the source code (when you're not typing all of your variables).
IIRC, the compiler displays what it's doing for each pass but newer
versions of 4D + modern hardware are so fast that I haven't seen the
"label" appear in the compiler window.

For the sake of argument, lets' say that the three passes are something
like syntax, declarations, and then parameter type matching. There must be
no errors in one phase before the compiler will move on to the next.
Perhaps what you're seeing is that as you resolve errors during the syntax
phase, those changes engender issues within that same phase.

Once the issues in the syntax phase are resolved, the compiler will run the
declarations phase and will report those errors.

Rinse, lather, repeat for the next phase.


Second issue is that 4D's compiler used to scan methods sequentially, based
on ID, and would check parameters based on the parameter list that exists
for the first instance of a method.

This was my observation of the early versions of the compiler so it could
be observer error/bias and 4D could have completely revamped how the
compiler functions. Also, in the 25 years or so since I made this
observation, I've never gone back and checked. :-)

Having just done a 2004 to 15 conversion, I saw the same behavior you're
experiencing and it was *not* a pleasant feeling. Most of the time I
compile it really is just a "spell check", so it was unnerving to compile -
error fix - compile and get more errors - error fix - compile and get
different errors. No fun at all but an inherent part of the process of
"getting to done".



--
Douglas von Roeder
949-336-2902

On Wed, Apr 5, 2017 at 1:56 AM, Nigel Greenlee via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> David
>
> Thanks for the insight. I think i might try that-day 2 and half already of
> this! Hopefully the compile with ‘all vars are declared should show me what
> is not declared(!)…i would love to be able to run my code(which i spoke
> about on here) that now auto sets the declarations of variables at the top
> of methods and declares everything that does not comply with the naming
> convention and is not declared as //C_UNKNOWN..but alas not much naming
> convention in play. I will try your re-tokenize code shortly.
>
> My next ‘side task’(now that i have my updated code repository
> working-although not installed on the system i am talking about here yet)
> is to write something that will report repeating methods-methods and
> scripts that are identical or near identical, and i think as part of that I
> will get it to report if there are invalid method names in new process(I
> find it annoying that ‘find unused methods’ shows any methods called only
> in new process or from a menu as uncalled)
>
>  As with most people my own code never assumes parameters these days-with
> all vars passed put into locals which really helps with parameter checking
> in the code-and very few vars not passed(so a big reduction in process vars
> and virtually no interprocess)..but we are someway from even starting on
> that here
>
> I will go vote..
>
> Nigel Greenlee
>
> > On 4 Apr 2017, at 22:58, David Adams via 4D_Tech <4d_tech@lists.4d.com>
> wrote:
> >
> > Nigel,
> >
> > The Compiler changed some versions back and no longer detects all error
> sin
> > one pass...at least in certain situations. A few tips and things to look
> > out for:
> >
> > * If you've got a missing method, the Compiler usually stops reporting
> > errors, even if there are multiple cases of the problem.
> >
> > * Sometimes, code doesn't seem to be scanned. I use a method to
> retokenize
> > all methods (pasted below) which helps. Note that you get an error on
> this
> > most of the time when the method tries to retokenize itself.
> >
> > * If you compile with 'all variables are typed ' (and you are likely to
> > find more genuine errors this way), then periodically do a syntax check
> > with 'type the variables.' If you've got inconsistent declarations, this
> > can turn them up.
> >
> > There are still a number of things that the compiler won't do - even in
> V16:
> >
> > * Check parameter list lengths and detect extra params in some cases.
> >
> > * Check parameter list lengths and detect missing params in any case.
> > (There's no syntax to declare a method parameter as optional in 4D.)
> >
> > * Check method name references, like with New process, ON ERR CALL, etc.
> > There's also still no way to declare that a parameter is a method
> reference.
> >
> > I've already got a feature request in at forums.4d.fr for these
> > improvements. If you like these ideas, or have related suggestions,
> please
> > comment and vote here:
> >
> > Compiler/Typing Improvements: Detect some runtime errors in advance
> > http://forums.4d.fr/Post/EN/19107688/1/19107689
> >
> > I have to say, I've got zero evidence to make be believe that the forum
> > voting 

Re: OffsetCursor / Highlight in Dialog in 4D v13 OS X 10.12

2017-04-06 Thread Douglas von Roeder via 4D_Tech
Jim:

Working in a 13.5 (Windows) system, I've seen something similar in some
fields - when the inserting point enters the field, the bottom few pixels
may be truncated or it's offset from the left side of the field mask by one
or two pixels. This issue made it, at times, hard to spot the flashing
cursor (not to be confused with "the cursing flasher") but, other than
that, it's been innocuous.


--
Douglas von Roeder
949-336-2902

On Thu, Apr 6, 2017 at 7:14 AM, Jim Medlen via 4D_Tech <4d_tech@lists.4d.com
> wrote:

>
>
> In 4D v13.6 running on OS X 10.12 there is an odd visual behavior with the
> REQUEST dialog.
>
> The cursor in the dialog is visually offset by approximately two character
> spaces and if the
> text is highlighted the Highlight color is shifted to the right as well.
>
> Has anyone else seen this and is there a work around?
>
> I am in the process of upgrading from v13 but was wondering if there was a
> work around
> until the upgrade is completed.
>
>
> Thanks,
>
> Jim Medlen
> Computer & Information Systems
> Functional Devices, Inc.
> j.med...@functionaldevices.com
> phone (765) 883-5538 x 428
> fax (765) 883-4262
> http://www.functionaldevices.com
>
> This email was transmitted on 100 percent recycled electrons
>
>
>
>
> **
> 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 Compiler

2017-04-06 Thread Douglas von Roeder via 4D_Tech
Tim:

Great info - many thanks for the explanation.

"I just checked wikipedia and it says the Mac SE/30 with 4MB or RAM and
80MB hard drive was $6,569! I don’t remember them being that expensive.
Makes the machines today look dirt cheap!"

The SE/30 was a great little machine. The PDS card had expansions slots. I
don't think I used an accelerator card but I know I had an ethernet card
and a video card for my 19" (black and white) CRT monitor.

The $6k figure sounds like current dollars but, yes, the Mac was an
expensive computer to purchase though the lifecycle cost made it a no
brainer purchase.  In the past few days, we've seen postings from folks who
are using laptops that are 7+ years old that are still being used to write
software.


--
Douglas von Roeder
949-336-2902

On Thu, Apr 6, 2017 at 3:09 PM, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com
> wrote:

> On Apr 6, 2017, at 4:43 PM, Douglas von Roeder wrote:
>
> > A couple of thoughts on this…
> >
> > I couldn't find this documented but 4D's compiler does three "passes"
> > through the source code (when you're not typing all of your variables).
> > IIRC, the compiler displays what it's doing for each pass but newer
> > versions of 4D + modern hardware are so fast that I haven't seen the
> > "label" appear in the compiler window.
> >
> > For the sake of argument, lets' say that the three passes are something
> > like syntax, declarations, and then parameter type matching. There must
> be
> > no errors in one phase before the compiler will move on to the next.
> > Perhaps what you're seeing is that as you resolve errors during the
> syntax
> > phase, those changes engender issues within that same phase.
> >
> > Once the issues in the syntax phase are resolved, the compiler will run
> the
> > declarations phase and will report those errors.
> >
> > Rinse, lather, repeat for the next phase.
> >
> >
> > Second issue is that 4D's compiler used to scan methods sequentially,
> based
> > on ID, and would check parameters based on the parameter list that exists
> > for the first instance of a method.
> >
> > This was my observation of the early versions of the compiler so it could
> > be observer error/bias and 4D could have completely revamped how the
> > compiler functions. Also, in the 25 years or so since I made this
> > observation, I've never gone back and checked. :-)
> >
> > Having just done a 2004 to 15 conversion, I saw the same behavior you're
> > experiencing and it was *not* a pleasant feeling. Most of the time I
> > compile it really is just a "spell check", so it was unnerving to
> compile -
> > error fix - compile and get more errors - error fix - compile and get
> > different errors. No fun at all but an inherent part of the process of
> > "getting to done".
>
> If you are letting 4D do the variable typing then the first phase is to
> scan every method and create a list of all variables and their types. If
> you are typing all variables then it first looks at the “Compiler…” methods
> for variable typing.
>
> It also has to type all parameters for methods. So if you let 4D do all
> the typing it has to scan all methods looking for $1, $2, etc and types
> them. If you are doing the typing then it gets this info from “Compiler…”
> methods.
>
> Then you have local variables to deal with. Could be it builds this typing
> list when it is scanning all the methods. Could be during all this typing
> scanning it does some syntax checking along the way instead of waiting
> until the last step.
>
> I think the 4D Compiler is very optimized. As it is processing as soon as
> an uncertain situation occurs it bails. No need to scan the whole structure
> every time if an uncertain situation could have cascading effects. So
> that’s why when you fix some errors and compile again you can get a whole
> new set of errors you didn’t get the first time. And this explains why
> sometimes the number of errors increase with each compile instead of go
> down.
>
> I’m sure it would be extremely difficult to have the compiler show every
> possible error when it compiles each time. I think it is doing the best
> that it can do and as they say “it is what it is”.
>
> I wonder whatever happened to the original 4D Compiler writer David Hemmo?
>
> When he wrote 4D Compiler back in 1990 I thought he was a programming god
> to be able to build all that machine code and hook it all together to make
> something that actually worked. And then to update 4D Compiler to support
> 68K machine code, PPC machine code, Intel machine code, and variances
> between Mac OS and Windows OS. To me that is some serious programming skill
> and ability.
>
> I remember the first time I ran 4D Compiler 1.0 on a structure. It had
> over 4,000 errors! I worked all day to get that number down to the
> hundreds. A lot of code had to be rewritten due to variable retyping
> issues. I probably tried to compile 20 times that day. But by the second
> day I had a compiled structure that ran on my Mac SE/30.

Re: question about setting select tab in v15.4

2017-04-19 Thread Douglas von Roeder via 4D_Tech
Lee:

SELECT LIST ITEMS BY POSITION(*;"PROPOSAL_Tab_L";1)





--
Douglas von Roeder
949-336-2902

On Wed, Apr 19, 2017 at 4:03 PM, Lee Hinde via 4D_Tech <4d_tech@lists.4d.com
> wrote:

> Inherited Foundation database using automatic tab controls in an input
> form.
>
> No array, setting the tab labels with the data source option in the
> property list.
>
> How do I programmatically set the active tab in this circumstance?
> **
> 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: question about setting select tab in v15.4

2017-04-19 Thread Douglas von Roeder via 4D_Tech
Lee:

HTH.

--
Douglas von Roeder
949-336-2902

On Wed, Apr 19, 2017 at 5:03 PM, Lee Hinde via 4D_Tech <4d_tech@lists.4d.com
> wrote:

> Of course!
>
> :-)
>
> Thanks.
>
> > On Apr 19, 2017, at 4:22 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Lee:
> >
> > SELECT LIST ITEMS BY POSITION(*;"PROPOSAL_Tab_L";1)
> >
> >
> >
> >
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> >
> > On Wed, Apr 19, 2017 at 4:03 PM, Lee Hinde via 4D_Tech <
> 4d_tech@lists.4d.com
> >> wrote:
> >
> >> Inherited Foundation database using automatic tab controls in an input
> >> form.
> >>
> >> No array, setting the tab labels with the data source option in the
> >> property list.
> >>
> >> How do I programmatically set the active tab in this circumstance?
>
>
>
> **
> 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: Using METHOD SET CODE on from objects

2017-03-11 Thread Douglas von Roeder via 4D_Tech
Kirk:

What you're describing doesn't sound like a "feature", that's for sure.

Obvious question - are you sure that the object itself is closed? Also, any
chance the structure is in read only? Dollars to doughnuts you've covered
those bases but just in case…

Another option would be to try this in a newer version. I haven't seen a
mention of an issue like this in a "fixed bugs" document but, again, it
might be worth trying to get a better understanding of what is(n't)
happening.



--
Douglas von Roeder
949-336-2902

On Sat, Mar 11, 2017 at 5:35 PM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> This is the first time I'm attempting to use METHOD SET CODE on form
> objects in a v13.6 db.
>
> There's nothing tricky about what I'm doing: export methods from one
> database and import into another. Project methods all work flawlessly but
> object methods just don't.
>
> I verified the method paths are the same by having the import method call
> METHOD GET CODE first (in the debugger I see it is opening the object
> method and getting the code) them call METHOD SET CODE to write the
> imported code. For testing I then called METHOD OPEN PATH - to see that
> nothing is actually changed.
>
> Is this just a v13 bug? I'm really stumped here.
>
> --
> 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
> **
**
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: Using METHOD SET CODE on from objects

2017-03-11 Thread Douglas von Roeder via 4D_Tech
Not sure if I'm understanding the situation but if you can write to one
object method but not another that would imply that there's an issue in the
structure.

My thinking is that if it can write to one OM it should write to them all.
If it can't, it should throw an error.

What about a verify/compact/repair?



--
Douglas von Roeder
949-336-2902

On Sat, Mar 11, 2017 at 9:57 PM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hey Doug,
> Yeah I tried those other cases. In a test method I can load, and write the
> code to one object but it fails in the other.
>
>
> On Sat, Mar 11, 2017 at 6:45 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > Kirk:
> >
> > What you're describing doesn't sound like a "feature", that's for sure.
> >
> > Obvious question - are you sure that the object itself is closed? Also,
> any
> > chance the structure is in read only? Dollars to doughnuts you've covered
> > those bases but just in case…
> >
> > Another option would be to try this in a newer version. I haven't seen a
> > mention of an issue like this in a "fixed bugs" document but, again, it
> > might be worth trying to get a better understanding of what is(n't)
> > happening.
> >
> >
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> >
> > On Sat, Mar 11, 2017 at 5:35 PM, Kirk Brooks via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> > > This is the first time I'm attempting to use METHOD SET CODE on form
> > > objects in a v13.6 db.
> > >
> > > There's nothing tricky about what I'm doing: export methods from one
> > > database and import into another. Project methods all work flawlessly
> but
> > > object methods just don't.
> > >
> > > I verified the method paths are the same by having the import method
> call
> > > METHOD GET CODE first (in the debugger I see it is opening the object
> > > method and getting the code) them call METHOD SET CODE to write the
> > > imported code. For testing I then called METHOD OPEN PATH - to see that
> > > nothing is actually changed.
> > >
> > > Is this just a v13 bug? I'm really stumped here.
> > >
> > > --
> > > 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
> > > **
> > **
> > 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
> ===
> **
> 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: Online Documentation with Right Click on command

2017-03-14 Thread Douglas von Roeder via 4D_Tech
Jody:

This link will will take you to the docs for V16:

http://doc.4d.com/4Dv16/index.en.html

If you click on the link "4D Language Reference", you'll end up here:

http://doc.4d.com/4Dv16/4D/16/4D-Language-Reference.100-3035671.en.html

On the right side are the headings Properties, Index, Article Usage, and
Download.

HTH.


And, thank you 4D for putting the resources into improving the
documentation section of the site. In the past, I've resorted to having
local copy as well as hosting my own because of intermittent availability
and performance of the doc.4d.com. The site is much improved. In addition
to consistent and improved visuals, the site is very responsive.



--
Douglas von Roeder
949-336-2902

On Tue, Mar 14, 2017 at 9:28 AM, G-Mail via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> I have got addicted to using the right click on a command to view that
> commands documentation. A few weeks ago this stopped working for me, and
> for the other programmer in another country.
>
> I believe the settings are located in the 4D Preferences - Documentation
> Location.
>
> The Web site setting is:  http://doc.4d.com/4dv15r/help/command/en/ <
> http://doc.4d.com/4dv15r/help/command/en/>
>
> My browser will always launch and look but come back with not found. Any
> ideas to help out this formerly retired 4Der? When I click on the ‘World’
> icon beside the website setting it looks for:
>
> http://doc.4d.com/4Dv15R5/4D/15-R5/4D-SVG-Component.100-3014973.en.html <
> http://doc.4d.com/4Dv15R5/4D/15-R5/4D-SVG-Component.100-3014973.en.html>
>
> This comes up with the anticipated ‘Safari Can’t Open the Page notice.
>
>
>
> While I am asking this a related question would be where would I download
> the HTML so I can have it stored locally? Then when my internet connection
> is down I can still have it. My internet goes down weekly. Sometimes for 10
> minutes, sometimes for a few days. So this would be a good thing to have.
>
> Thanks in advance for your ideas on this.
> It seems the three years off I forgot the exact parameters, names of
> commands etc. I just know they should be there.
>
> Jody
> **
> 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 V12.5 OK with Windows 10

2017-04-07 Thread Douglas von Roeder via 4D_Tech
Jeffrey:

Hmm, well that puts a little different light on this issue, eh?

My point of contact was pretty certain that 12.6 will resolve the printing
issue.

Guess we'll find out next week. :-)



--
Douglas von Roeder
949-336-2902

On Fri, Apr 7, 2017 at 1:09 PM, Jeffrey Kain via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I don't remember 4D fixing the "tiny text" thing in v12 -- I thought it
> was something that ended up getting fixed in Windows.
>
> --
> Jeffrey Kain
> jeffrey.k...@gmail.com
>
> > On Apr 7, 2017, at 4:08 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Tim:
> >
> > "4D v12.6 (final version) was released October 8th 2013.
> > Windows 10 was initially released July 20th 2015."
> >
> > Thanks for that info.
> >
> > I checked out the cert matrix for 12.5 vs 12.6 and 12.6 is a no go with
> 8.1
> > but, as you point illustrate, Win 10 didn't exist when 12.6 shipped. Some
> > users have been running the built client application (12.5) for about a
> > year and the only issue they've noticed is printed output is tiny.
> >
> > "if a certified environment is important"
> > Understood. Some organizations require that but not these folks.
>
> **
> 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 V12.5 OK with Windows 10

2017-04-05 Thread Douglas von Roeder via 4D_Tech
A client using V12.5 is starting to adopt Windows 10 and has asked about
going to V12.6 since the newer version, apparently, resolves "the Windows
10 tiny print problem that 12.5 has."

The Cert Matrix for 12.6 states that 12.6 is "not compatible" with 8.1 and
does not list Win 10.

Is 12.6 OK to use on Win10?

Bonus question - is there any difference in Win10 compatibility between
12.5 and 12.6?


--
Douglas von Roeder
949-336-2902
**
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 V12.5 OK with Windows 10

2017-04-08 Thread Douglas von Roeder via 4D_Tech
Marius:

Thank you for that link.

At this point in the thread it's clear that I've done nothing to validate
the approach that my client is pursuing so I do sincerely appreciate
everyone's feedback about this.

I'll pass all of this info along to my client.


--
Douglas von Roeder
949-336-2902

On Sat, Apr 8, 2017 at 3:20 AM, b nonymus via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> I’m using this workaround since Windows 8: this solved the issue for me:
> Topic: Printing on Windows 8.1 & 4Dv12
>
> Marius Veenker
>
> > Op 7 apr. 2017, om 23:35 heeft Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> het volgende geschreven:
> >
> > Jeffrey:
> >
> > Hmm, well that puts a little different light on this issue, eh?
> >
> > My point of contact was pretty certain that 12.6 will resolve the
> printing
> > issue.
> >
> > Guess we'll find out next week. :-)
> >
> >
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> >
> > On Fri, Apr 7, 2017 at 1:09 PM, Jeffrey Kain via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> >> I don't remember 4D fixing the "tiny text" thing in v12 -- I thought it
> >> was something that ended up getting fixed in Windows.
> >>
> >> --
> >> Jeffrey Kain
> >> jeffrey.k...@gmail.com
> >>
> >>> On Apr 7, 2017, at 4:08 PM, Douglas von Roeder via 4D_Tech <
> >> 4d_tech@lists.4d.com> wrote:
> >>>
> >>> Tim:
> >>>
> >>> "4D v12.6 (final version) was released October 8th 2013.
> >>> Windows 10 was initially released July 20th 2015."
> >>>
> >>> Thanks for that info.
> >>>
> >>> I checked out the cert matrix for 12.5 vs 12.6 and 12.6 is a no go with
> >> 8.1
> >>> but, as you point illustrate, Win 10 didn't exist when 12.6 shipped.
> Some
> >>> users have been running the built client application (12.5) for about a
> >>> year and the only issue they've noticed is printed output is tiny.
> >>>
> >>> "if a certified environment is important"
> >>> Understood. Some organizations require that but not these folks.
> >>
> >> **
> >> 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
> **
>
**
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 V12.5 OK with Windows 10

2017-04-07 Thread Douglas von Roeder via 4D_Tech
Jim:

Thanks for the heads up.

This client is using the "built client" and "built server" apps so I wonder
if the "broken 4D link" file will be an issue.

--
Douglas von Roeder
949-336-2902

On Fri, Apr 7, 2017 at 10:46 AM, Jim Hays via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> Hi Doug,
>
> We ship and use v12.6 on Windows 10.  One problem 12.6 has that a 4Dlink
> file to the server won't remember name and password.
> (This is something we use for automated testing, so we run those tests with
> 12.5).
>
>
> Jim
>
> On Wed, Apr 5, 2017 at 6:48 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > A client using V12.5 is starting to adopt Windows 10 and has asked about
> > going to V12.6 since the newer version, apparently, resolves "the Windows
> > 10 tiny print problem that 12.5 has."
> >
> > The Cert Matrix for 12.6 states that 12.6 is "not compatible" with 8.1
> and
> > does not list Win 10.
> >
> > Is 12.6 OK to use on Win10?
> >
> > Bonus question - is there any difference in Win10 compatibility between
> > 12.5 and 12.6?
> >
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> > **
> > 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
**

Re: 4D V12.5 OK with Windows 10

2017-04-07 Thread Douglas von Roeder via 4D_Tech
Tim:

"4D v12.6 (final version) was released October 8th 2013.
Windows 10 was initially released July 20th 2015."

Thanks for that info.

I checked out the cert matrix for 12.5 vs 12.6 and 12.6 is a no go with 8.1
but, as you point illustrate, Win 10 didn't exist when 12.6 shipped. Some
users have been running the built client application (12.5) for about a
year and the only issue they've noticed is printed output is tiny.

"if a certified environment is important"
Understood. Some organizations require that but not these folks.



--
Douglas von Roeder
949-336-2902

On Fri, Apr 7, 2017 at 12:55 PM, Timothy Penner via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hi Doug,
>
> 4D v12.6 (final version) was released October 8th 2013.
> Windows 10 was initially released July 20th 2015.
>
> It is safe to say that v12 was *never* tested by 4D QA on Windows 10
> because Windows 10 didn't even exist at the time of the final release of
> v12.
>
> v12.6 is listed as "Not Compatible" Windows with 8.1 (Windows 10 came out
> after 8.1)...
> http://download.4d.com/Documents/Products_Documentation/LastVersions/
> Line_12/VIntl/PDF_Format/4Dv12.6_Certif_Matrix.pdf
>
> v13.6 is listed as "Not Tested" for Windows 10:
> http://download.4d.com/Documents/Products_Documentation/LastVersions/
> Line_13/VIntl/PDF_Format/4Dv13.6_Certif-Matrix.pdf
>
> v14.5 and v14.6 is listed as "Compatible" with Windows 10:
> http://download.4d.com/Documents/Products_Documentation/LastVersions/
> Line_14/VIntl/PDF_Format/4D_v14_6_Certif_US.pdf
>
> v15.0 was listed as "Not Tested" on Windows 10:
> http://download.4d.com/Documents/Products_Documentation/LastVersions/
> Line_15/VIntl/4D-v15_Matrix-Certif_EN.pdf
>
> v15.4 is listed as "Certified" for the Win 10 anniversary update, but only
> "compatible" with the original Win 10:
> http://download.4d.com/Documents/Products_Documentation/LastVersions/
> Line_15/VIntl/20170902_CertifV15_4_INTL.pdf
>
> v16.0 is listed as "Certified" for the Win 10 anniversary update, but only
> "compatible" with the original Win 10:
> http://download.4d.com/Documents/Products_Documentation/LastVersions/
> Line_16/VIntl/4D_v16_0_CertificationMatrix_EN.pdf
>
> if a certified environment is important to your customer and your customer
> wants to use Windows 10, then you should be looking at either v15.4 or v16.
>
> -Tim
>
>
>
> **
> 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: Automated tasks on 4D Server

2017-04-17 Thread Douglas von Roeder via 4D_Tech
On Mon, Apr 17, 2017 at 11:44 AM, James Crate via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> It’s easy enough to just start a process that does what is necessary, but
> to do it simply requires a different process for each kind of schedule
> (i.e. every 5 minutes, once per day), and isn’t very elegant.
> Building/testing my own code to do this sensibly doesn’t make sense for
> just this one system.


Jim:

Agreed.

How about allowing us to set up chron jobs using the engine that runs 4D's
backup function?

--
Douglas von Roeder
949-336-2902 <(949)%20336-2902>
**
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: Blob to Record

2017-08-02 Thread Douglas von Roeder via 4D_Tech
API Pack has Record to BLOB and BLOB to record.


--
Douglas von Roeder
949-336-2902

On Wed, Aug 2, 2017 at 11:20 AM, Chip Scheide via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> is there simple way to move an entire (arbitrary) record to a blob?
>
> I was hoping for a simple command like:
> Record to blob([table];Blob)
>
> rather then
> for(records)
>   for(number of fields)
> convert to text(field)
> append text to blob
>   end for
>   next
> end for
>
> ---
> 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
> **
**
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
**

Converting Quick Reports from 4D 2004 to Modern Version

2017-08-01 Thread Douglas von Roeder via 4D_Tech
While converting an application from 2004, it appears that Quick Reports in
2004 are not compatible with 15.4.

I've searched through a few sets of docs but can't find a where this is
documented. I'd appreciate it  if some good soul could confirm that/cite a
reference for that.

Assuming that they have to be converted, are there any hints, tips, tricks,
or code to speed or automate the conversion?

--
Douglas von Roeder
949-336-2902
**
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: Anybody using the TimePicker widget - TimePicker SET STEP

2017-08-10 Thread Douglas von Roeder via 4D_Tech
 "form local" = new (and much better) name for a dynamic variable?


--
Douglas von Roeder
949-336-2902

On Thu, Aug 10, 2017 at 2:17 PM, Keisuke Miyako via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> it works on ON LOAD, but the widget's variable must be declared with
> C_TIME,
> or set to create a form local (no variable name, type=time in property
> list.)
>
> and the widget must be used on page 0 or 1.
>
> > 2017/08/10 16:13、John Baughman via 4D_Tech <4d_tech@lists.4D.com> のメール:
> > The sample code in the picker method calls TimePicker SET STEP in the On
> Load form event. That does not 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
> **
>
**
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
**

Very Simple Way to Access Server with Two Copies of Remote from the Same Machine

2017-07-13 Thread Douglas von Roeder via 4D_Tech
kb.4D.com is a wealth of info about 4D and, as much as I try to learn and
incorporate new tools and techniques, this one passed under my radar.

I was reading some of Miyako's comments on the Forum a few months ago and
he mentioned the ability to run two copies of 4D Remote on the same OS on
the same machine. Seeing that I'm working on an app that uses main event
loop and opens a small, fixed-size window this tech note was a
huge productivity booster.

Check out this tech note - http://kb.4d.com/assetid=76425

--
Douglas von Roeder
949-336-2902
**
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: Wiki software: Confluence

2017-07-13 Thread Douglas von Roeder via 4D_Tech
"FogBugz is probably the one I like the most. "

I've been using FB for about 10 years but for the bug tracking features not
the wiki features. It's an invaluable means of tracking issues, tracking
progress, marking changes in code, version management, and invoicing.

The price is good up to the 5 user level (about $200 per year) and I've
found that to be more than enough for most projects.
--
Douglas von Roeder
949-336-2902 <(949)%20336-2902>

On Thu, Jul 13, 2017 at 2:31 PM, Jeffrey Kain via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Haven't found one that I love yet. FogBugz is probably the one I like the
> most. We've been using ZenDesk but it really sucks (Jira is awesome in
> comparison). Jira really isn't bad... again, I was just being snarky. I'm
> fond of most all of the Atlassian tools (especially Confluence).
>
> We're in the process of writing our own Jira replacement.
>
> --
> Jeffrey Kain
> jeffrey.k...@gmail.com
>
>
>
>
> > On Jul 13, 2017, at 4:22 PM, Lee Hinde via 4D_Tech <4d_tech@lists.4d.com>
> wrote:
> >
> > What do you like?
> >
> > On Thu, Jul 13, 2017 at 6:22 AM, Jeffrey Kain via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> >> Jira sucks.
> >>
> >> --
> >> Jeffrey Kain
> >> jeffrey.k...@gmail.com
> >>
> >>> On Jul 13, 2017, at 5:26 AM, David Adams via 4D_Tech <
> >> 4d_tech@lists.4d.com> wrote:
> >>>
> >>> ...Wow, thanks for all of the information about the features of
> >> Confluence
> >>> and Jira. I'm new to them, so pretty much everything you mentioned is
> new
> >>> to me.
> >>
> >> **
> >> 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
> **
>
**
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: Very Simple Way to Access Server with Two Copies of Remote from the Same Machine

2017-07-13 Thread Douglas von Roeder via 4D_Tech
Wayne:

There are lots of commands and features that we become aware of but, if we
don't put them into use, we tend to forget them. There's just too many
commands, for me at least, to keep track of.

Good case in point is Choose. 4D snuck that in with V11 but I never used
that version (I refer to it as "4D Vista") so I didn't run across that
command until a few years ago. Chip had his "Eureka moment" about Choose
the other day and, rightfully, started a thread about his use of that
little nugget (pun intended).

"I think you've been asleep at the wheel for a while!!"  I don't sleep
while driving; only when I'm on my GoldWing . ;-)

--
Douglas von Roeder
949-336-2902

On Thu, Jul 13, 2017 at 4:15 PM, Wayne Stewart via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Mind you it took me a long time to discover the Folder separator constant!!
>
>
> Regards,
>
> Wayne
>
>
> [image: --]
> Wayne Stewart
> [image: http://]about.me/waynestewart
> <http://about.me/waynestewart>
>
>
> On 14 July 2017 at 09:13, Wayne Stewart <wayne.b.stew...@gmail.com> wrote:
>
> > Doug,
> >
> > I think you've been asleep at the wheel for a while!!  That's dated 2011
> > and I'm sure I can remember doing it in v2004.
> >
> >
> > Regards,
> >
> > Wayne
> >
> >
> > [image: --]
> > Wayne Stewart
> > [image: http://]about.me/waynestewart
> > <http://about.me/waynestewart>
> >
> >
> > On 14 July 2017 at 09:06, Douglas von Roeder via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> >> kb.4D.com is a wealth of info about 4D and, as much as I try to learn
> and
> >> incorporate new tools and techniques, this one passed under my radar.
> >>
> >> I was reading some of Miyako's comments on the Forum a few months ago
> and
> >> he mentioned the ability to run two copies of 4D Remote on the same OS
> on
> >> the same machine. Seeing that I'm working on an app that uses main event
> >> loop and opens a small, fixed-size window this tech note was a
> >> huge productivity booster.
> >>
> >> Check out this tech note - http://kb.4d.com/assetid=76425
> >>
> >> --
> >> Douglas von Roeder
> >> 949-336-2902
> >> **
> >> 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
**

Re: Resetting The Explorer Window - Tip

2017-07-17 Thread Douglas von Roeder via 4D_Tech
Allan:

Thank you for passing this along.

It's very helpful.

--
Douglas von Roeder
949-336-2902

On Sun, Jul 16, 2017 at 8:32 PM, Allan Udy via 4D_Tech <4d_tech@lists.4d.com
> wrote:

> Hi All,
>
> Here's a quick tip if you suddenly loose the buttons at the bottom of your
> Explorer window, as I did this afternoon -- I couldn't view method
> Comments  (no Preview/Comments button), nor could I Add [+] or Delete [-]
> methods etc -- those options were just not available to me.
>
> What to do when your development environment goes belly up... and when a
> computer restart, software restart, and software reinstall don't solve the
> problem?
>
> 1. Close the Explorer window
>
> 2. Hold the Shift key down, and
>
> 3. Select the menu item:   Design >  Explorer >  Methods
>
> This has the effect of 'resetting' the size and location of the Explorer
> window, and thankfully, making the buttons at the bottom of the screen
> 'magically' reappear.
>
> Spent over half an hour trying to find any info about this, and trying to
> work out where my buttons and options had disappeared to.  Found the
> solution above by luck, although you could say it was found because of
> nearly thirty years of experience ;-)
>
> Hope this helps someone else sometime.  Still don't know where my buttons
> went, or why
>
> Cheers,
> Allan Udy
>
> Golden Micro Solutions Ltd, Blenheim, New Zealand
> http://www.golden.co.nz
>
>
>
>
>
>
> 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
> **
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

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

2017-07-10 Thread Douglas von Roeder via 4D_Tech
David:

That's my understanding, as well.

Randy Engle kicked off a thread a few months ago where that was discussed
and I'm pretty certain that was the net net.

--
Douglas von Roeder
949-336-2902

On Mon, Jul 10, 2017 at 4:02 PM, David Adams via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hey John!
>
> On Tue, Jul 11, 2017 at 8:55 AM, John Baughman via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> >
> > I think he said it was an internal Slack channel.
> >
>
>
> I think the way it works is that they have to wait for 17.0. The 16.X
> branch doesn't include new features from the 16.R branch.
>
> Someone please say that I'm wrong here...if I'm wrong here. Either way,
> it's good to know for planning.
> **
> 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 Write Pro interface plug in or component?

2017-07-10 Thread Douglas von Roeder via 4D_Tech
John:

"Pro looks to be a good upgrade, but I hate the fact that it comes without
a typical word processor user interface built in. I just don’t have time to
create the interface."
I'm glad that tables are in this new version as well as the native ability
to "keep (paragraphs) with next" but it's a complete disappointment that I
don't have a "snap in" UI.

It's a little hard to tell a client that we can upgrade 4D Write but it'll
cost them a few thousand dollars for an interface.

I've already done "keep with next" in native code and the current
tables, clunky as they are, will suffice. I'd rather my clients spend their
money on things that add value.


--
Douglas von Roeder
949-336-2902

On Mon, Jul 10, 2017 at 3:55 PM, John Baughman via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I have a similar situation and found the provided widget to be somewhat
> lacking and not very intuitive. I am currently in the process of upgrading
> a couple of database that use 4D Write extensively with as with Don’s case
> very complex forms. What I have done is to add pages to the form that
> duplicate the 4D Write pages but include 4D Write Pro pages. The user has
> the option to use either. Existing documents and templates are converted to
> Pro if Pro is used. In this way I am hoping to move the end users to 4D
> Write Pro gradually.
>
> Several issues…
>
> 1. The widget, just does not hack it. If, however, you can get used to
> using the contextual menu you really do not need the widget and all of what
> the widget is missing can be found in the contextual menu.
>
> 2. R release must be used if you want the ruler. One of my clients is not
> on maintenance and will have to wait for 16.2.
>
> 3. There is no way to put an image behind text as you could in 4D Write.
> Choices are either in line or on the background (in the corners, mosaic, or
> full page). R3 includes tables. I am hoping that using tables will resolve
> this issue, but have not tried it yet. This is for one particular client
> that has to place images in a column to the right of the body of the
> document. fortunately they are the client on maintenance I have a support
> ticket open with TS regarding this shortcoming.
>
> 4. Relating to 3 above, converting a 4D Write document with images behind
> text to 4D Write Pro loses the images.
>
> Pro looks to be a good upgrade, but I hate the fact that it comes without
> a typical word processor user interface built in. I just don’t have time to
> create the interface.
>
> John
>
>
>
> > On Jul 10, 2017, at 12:05 PM, Don Lapin via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Hello,
> >
> > I have just started looking at the 4D Write Pro interface.
> >
> > Currently I have an "old" (current) 4D Write area embedded into a fairly
> complex form (25 tabs, lots of fields and listboxes, etc.). The program
> generates complex, multi-page documents procedurally using 4D Write
> commands.
> >
> > When the users work with the current 4D Write interface, it looks like a
> normal word processor, and they know what to do without help. Click into
> some text to see the style sheet. There's adequate room to see the document
> and its margins.
> >
> > The "new" interface consists of a stylized widget on the right side,
> which consumes about one third of the available form space. No menus. The
> ruler is three times as thick as the old one. There don't appear to be open
> and save options.
> >
> > Tech support suggested that if I wanted a more conventional interface, I
> could create it myself.
> >
> > Is anyone aware of a plug-in or component that provides a normal
> interface for 4D Write Pro? Or is 4D Write Pro actually intended for some
> other use than its predecessor?
> >
> > Thanks,
> > Don
> >
> >
> >
> > **
> > 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
**

Re: OBJ Module Update

2017-07-19 Thread Douglas von Roeder via 4D_Tech
Cannon:

Heh, I just complained — *you* wrote the code! :-)

--
Douglas von Roeder
949-336-2902

On Wed, Jul 19, 2017 at 3:12 PM, Cannon Smith via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I had a suggestion from Douglas von Roeder to add a method that returns
> the size of an array inside an object to the OBJ Module. I’ve done this. If
> anyone is interested, the method added is named OBJ_Get_ArraySize and the
> updated module can be found here:
>
> 
>
> Thanks, Doug.
>
> --
> Cannon.Smith
> Synergy Farm Solutions Inc.
> Hill Spring, AB Canada
> 403-626-3236
> 
> 
>
>
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: 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: v13 (+?) - Replace String [warning]

2017-06-29 Thread Douglas von Roeder via 4D_Tech
Chip:

AFAIK, that's the marker that 4D added "way back when" when 4D started to
support BLOB's. It's used to differentiate between a picture and a BLOB.

--
Douglas von Roeder
949-336-2902

On Thu, Jun 29, 2017 at 1:33 PM, Chip Scheide via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I have a question.. what does RVLB (at the end of the blob) do?
>
>
> On Wed, 28 Jun 2017 06:09:43 +0800, Alan Chan via 4D_Tech wrote:
> > Hi Chip,
> >
> > Try the following and it should be done in a second or 2 (compiled).
> >
> >   //ES_ReplaceStr_Shrink($source;$oldString;$newString;{$count
> > pointer})->Resulted text
> > C_TEXT($0;$1;$2;$3;$source;$oldStr;$newStr;$result;$tempTxt)
> > C_POINTER($4)
> >
> C_LONGINT($oldLen;$newLen;$oldStrLen;$NewStrLen;$count;$
> offset;$offset2;$start;$pos)
> > C_BLOB($blob;$blob2)
> > $source:=$1
> > $oldLen:=Length($source)  //$source is the source text
> > $oldStr:=$2
> > $newStr:=$3
> > $oldStrLen:=Length($oldStr)
> > $newstrlen:=Length($newStr)
> >
> > SET BLOB SIZE($blob;$oldlen*2+9;0)
> > $offset:=9
> > $start:=1
> > $count:=0
> > Repeat
> > $pos:=Position($oldstr;$source;$start;*)
> > If ($pos>0)
> > $tempTxt:=Substring($source;$start;$pos-$start)+$newStr
> > $start:=$pos+$oldStrLen
> > If (Length($tempTxt)>0)
> > $offset2:=0
> > VARIABLE TO BLOB($tempTxt;$blob2;$offset2)
> > COPY BLOB($blob2;$blob;9;$offset;$offset2-9)
> > $offset:=$offset+$offset2-9
> > End if
> > $count:=$count+1
> > End if
> > Until ($pos=0)
> >
> > If ($count>0)
> > If ($start<=$oldlen)
> > $tempTxt:=Substring($source;$start)
> > If (Length($tempTxt)>0)
> > $offset2:=0
> > VARIABLE TO BLOB($tempTxt;$blob2;$offset2)
> > COPY BLOB($blob2;$blob;9;$offset;$offset2-9)
> > End if
> > End if
> > If ($oldStrlen>$NewStrLen)
> > $newLen:=$oldLen+(($NewStrLen-$oldStrLen)*$count)
> > SET BLOB SIZE($blob;$newlen*2+9)
> > Else
> > $newlen:=$oldLen
> > End if
> >
> > $blob{0x}:=Character code("R")
> > $blob{0x0001}:=Character code("V")
> > $blob{0x0002}:=Character code("L")
> > $blob{0x0003}:=Character code("B")
> > $blob{0x0004}:=0x0021
> > $blob{0x0005}:=$newlen%256
> > $blob{0x0006}:=($newlen\256)%256
> > $blob{0x0007}:=($newlen\65536)%256
> > $blob{0x0008}:=($newlen\16777216)
> > $offset:=0
> > BLOB TO VARIABLE($blob;$result;$offset)
> > $0:=$result
> >
> > Else
> > $0:=$1
> > End if
> >
> > If (Count parameters>3)
> > $4->:=$count
> > End if
> >
> > Alan Chan
> >
> > 4D iNug Technical <4d_tech@lists.4d.com> writes:
> >> $Source:=Replace String($Source;Char(9);"";*)
> >>
> >> Doesn't look so bad, does it?
> >> Turns out there are over 550,000 tabs in the text.
> >> Replace String, did indeed (eventually) return, but it took about 30
> >> minutes.
> >
> > **
> > 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
> **
>
**
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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Kirk:

My current thinking is to store the entire document but a PDF is harder to
futz with and it *would* save a bit of disk space. I'm leaning toward just
setting up a folder for each quote and dropping a changed document in it.
Disk space is copious and free and I don't need "chain of custody" type
practices. The issue that my client is dealing with is that some of the
sales reps have futzed with some of the quote documents. By adding this
feature the sales reps will know that their 4D Write documents will be
tracked by the audit trail and that should cut out almost all of the few
instances of mischief.

DeltaWalker might do the trick. I've been using it on the Mac for a couple
of years and it works fine but it is a little slow. It its favor, the
Windows version operates via the command line. Word has a compare feature,
though I've never programmed Word to run from the command line, and then
there's this online service <https://www.diffchecker.com>, too.

I like the idea of using diffchecker.com but who knows how long it will be
available.

Next step is to contact the client and ask them how automagic the diff
function needs to be.

Thanks for your suggestions.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 3:20 PM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
> On Tue, Apr 25, 2017 at 1:32 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > In addition to the hash, my thinking is to store changed documents as
> > versions of the original ("reference") document instead overwriting the
> > original.
> >
>
> ​If the formatting isn't important (headers, footers, page numbers) I'd
> just save the body text without formatting. Save them into a related table
> of 'versions' with the hash and date and stuff. If they want the formatting
> and the whole smash I'd save them as a PDF. ​The point is you want to
> prevent changing that archive copy.
>
>
> > Next step is to find an app that will do a diff that I can display for
> the
> > ​ ​
> > end user.
> >
> ​I found an app called Deltawalker that's pretty good. ​
>
>
> --
> 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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Chuck:

My thinking, at this point, is to store a modified document in its entirety
- disk space on the server is significant and cheap. No problem setting up
a folder hierarchy and moving documents around.

The big open issue is how much automation to do a diff and review the
deltas?

Per Kirk's posting, DeltaWalker is a candidate. I've used it on the Mac and
it's available on Windows with CLI//LEP capability. But the client might be
comfortable with doing it manually in Word. The answer to that question is
an email away. :-)

Thanks for the suggestions!

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 3:23 PM, Charles Miller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I would not generate on demand, as you have no control re size of
> document. I might store differences between current version and previous
> with new table where doc is stored
>
> I would also store doc in record and not outside of data unless you are
> willing to create doc mgt system as well
>
>
> Regards
>
>  Chuck
> 
> 
>  Chuck Miller Voice: (617) 739-0306
>  Informed Solutions, Inc. Fax: (617) 232-1064
> mailto:miller.cjaygmail.com <http://gmail.com/>
>  Brookline, MA 02446 USA Registered 4D Developer
>Providers of 4D and Sybase connectivity
>   http://www.informed-solutions.com
> 
> --------------------
>
>
> > On Apr 25, 2017, at 2:14 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Chuck:
> >
> > That's where I was headed - compare before and after and just flag the
> > document if there's a difference. If sales managers want to see what's
> > changed, I can generate that on demand.
>
> **
> 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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Chuck:

I've used both over the years (settled on BBEdit in the aughts) but they're
Mac only and text only.

What I am digging into is that both DeltaWalker and Beyond Compare are
multi-platform and scriptable. My other option, and a personal preference,
is to get MS Word involved. Word has a nice interface for this task but
I've never used Word via LEP or VB/VB Script.

BTW, I've had to resorted to UltraEdit on Windows since BBEdit is Mac only.
When I'm not feeling so studly, I fired up Programmer's Notepad, instead.
Far fewer features but much easier on the brain.



--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 5:06 PM, Charles Miller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Textwrangler and BBEdit have compare doc options as well
>
> Sent from my iPhone
>
> > On Apr 25, 2017, at 4:32 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Kirk:
> >
> > That's a sound approach.
> >
> > In addition to the hash, my thinking is to store changed documents as
> > versions of the original ("reference") document instead overwriting the
> > original.
> >
> > Next step is to find an app that will do a diff that I can display for
> the
> > end user.
> >
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> >
> > On Tue, Apr 25, 2017 at 1:24 PM, Kirk Brooks via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> >> Doug,
> >> I'd just grab the text of the document and hash it. MD5 is fine since
> it's
> >> not about security. Save the hash. If any text is changed the hash will
> >> change. Since it's in a record you can test for the modified record/
> >> changed hash.
> >>
> >> On Tue, Apr 25, 2017 at 10:49 AM, Douglas von Roeder via 4D_Tech <
> >> 4d_tech@lists.4d.com> wrote:
> >>
> >>> Kirk:
> >>>
> >>> Each end user modifiable document is stored in a record.
> >>>
> >>> Based my new understanding of the requirement, I'm thinking that a
> >>> "reference" copy of each document will be stored on the LAN in a folder
> >>> hierarchy. I can flag a document as having been changed on the
> standalone
> >>> and capture that as a new version of the reference document when the
> >>> document synchs back to the LAN. That allows me to leave the documents
> on
> >>> the server instead having to synch them.
> >>>
> >>> The diffing can be done by the server machine, perhaps using LEP and on
> >> an
> >>> as-needed basis.
> >>>
> >>>
> >>>
> >>> --
> >>> Douglas von Roeder
> >>> 949-336-2902
> >>>
> >>> On Tue, Apr 25, 2017 at 10:39 AM, Kirk Brooks via 4D_Tech <
> >>> 4d_tech@lists.4d.com> wrote:
> >>>
> >>>> Doug,
> >>>> Is the document stored in a record or just loose in a folder?
> >>>>
> >>>> On Mon, Apr 24, 2017 at 2:20 PM, Douglas von Roeder via 4D_Tech <
> >>>> 4d_tech@lists.4d.com> wrote:
> >>>>
> >>>>> I've been asked to update the code in an Audit Trail system so it
> >> will
> >>>> work
> >>>>> with 4D Write documents. Rather than simply tracking that there's
> >> been
> >>> a
> >>>>> change and showing the old document vs the new one, I'd like to diff
> >>> the
> >>>>> old vs new and be able to display the diff.
> >>>>>
> >>>>> The system has about a dozen LAN users and 25 users on standalones.
> >>>> Second,
> >>>>> it's Windows-only now but will be Windows and OS X as part of an
> >>> upgrade
> >>>>> from V13 to V15/16.
> >>>>>
> >>>>> Any suggestions or recommendations will be appreciated.
> >>>>> --
> >>>>> Douglas von Roeder
> >>>>> 949-336-2902
> >>>>> 
> >> **
> >>>>> 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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
David:

Thank you for posting that.

Did a fly by on the home page and, yes, muy bien. Downloading now.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 6:21 PM, David Adams via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> As a text editor on Windows, I like Notepad++, but I haven't revisited that
> choice in years.
>
> https://notepad-plus-plus.org/
> **
> 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: Machine ID

2017-04-25 Thread Douglas von Roeder via 4D_Tech
"Heh, I'm trying'  "  :-)

Agree completely about Miyako. Truly an unsung hero.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 8:54 PM, Sujit Shah via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> On Wed, Apr 26, 2017 at 1:46 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > There's Current machine
> > <http://doc.4d.com/4Dv16/4D/16/Current-machine.301-3035973.en.html> but
> > that may not be an "ID".
> >
> > http://doc.4d.com/4Dv16/4D/16/Current-machine.301-3035973.en.html
> >
> >
> >
>
>  That gives me computer name not ID as you said..
>
> :-)
>
>
>
>
>
> --
>
> xxx
> "There must be ingenuity as well as intention, strategy as well as
> strength. "
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: 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: Diff 4D Write Documents

2017-04-26 Thread Douglas von Roeder via 4D_Tech
Bernard:

What's available in 4D Write Pro that would make this easier?

My current thinking is that we're going to archive these documents when
there's s change in the hash value and then compare them with Beyond
Compare. BC costs $30, can be run from the command line, and produces a
decent looking report. That's a very cost effective solution, n'est ce pas?

--
Douglas von Roeder
949-336-2902

On Wed, Apr 26, 2017 at 9:18 AM, bernard--- via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
>
> It would be better to migrate to Write Pro before creating a diff for
> Write documents.
> As Chuck pointed, you could compare plain text.
> If written in 4D, you could adjust your features ; not too difficult (I
> have written one for comparing methods).
>
> Bernard Escaich
>
>
> > Le 25 avr. 2017 à 19:17, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> a écrit :
> >
> > Chuck:
> >
> > Thanks for your thoughts. They want to track *any* change in the
> document.
> >
> > This is a classic case of the client telling me the "how" instead of
> > telling me the "what" (*what* they want versus *how* to get it).
> >
> > I don't need a solution to run on multiple machines. Instead, I can track
> > changes as the documents are synchronized from server to standalone and
> > back and, if there's a change, do the diff on the server and generate a
> > report. That's much easier than having the diff function available for
> each
> > machine on the system.
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> >
> > On Tue, Apr 25, 2017 at 7:57 AM, Charles Miller via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> >> On Mon, Apr 24, 2017 at 5:20 PM, Douglas von Roeder via 4D_Tech <
> >> 4d_tech@lists.4d.com> wrote:
> >>
> >>> I've been asked to update the code in an Audit Trail system so it will
> >> work
> >>> with 4D Write documents. Rather than simply tracking that there's been
> a
> >>> change and showing the old document vs the new one, I'd like to diff
> the
> >>> old vs new and be able to display the diff.
> >>>
> >>> The system has about a dozen LAN users and 25 users on standalones.
> >> Second,
> >>> it's Windows-only now but will be Windows and OS X as part of an
> upgrade
> >>> from V13 to V15/16.
> >>>
> >>> Any suggestions or recommendations will be appreciated.
> >>>
> >>
> >> One comment is you will need to identify what should be compared. What
> are
> >> the rules.
> >> 1. Are formatting changes to be logged and shown?
> >> 2. Are spacing differences important?
> >> 3. Is case important?
> >>
> >> If you look at BBEDIT or Textwrangler you can see settings there for
> other
> >> ideas
> >>
> >>
> >> Regards
> >> Chuck
> >>
> >>
> >> --
> >> 
> >> -
> >> 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 Sever connectivity
> >>  http://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)
> >> 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-uns

Re: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-26 Thread Douglas von Roeder via 4D_Tech
Jim:

SSD - I'm a big believer in SSD's, no question of that. I'm using a MacBook
Pro with a 500 GB SSD. It's a "late 2013" model so it's not as fast as the
newer ones (450 MB/s vs > 1000). The server machine is using SSD's running
Win Server 2008 with a single i7-4770 CPU running at 3.4 GHz. RAM is in the
dozens of GB and the data file is about 10 GB.

I checked the stats on the chip at cpuboss.com and it's a pretty healthy
chip ("Nothing is slow at 3 gigahertz.") plus the tables are relatively
small. There are only 2.2M records with 1.2 in the Audit Trail table and
then 600k in Line Items. Indexes have been updated to use cluster B tree
when appropriate.

It seems that hardware's pretty good. I think the code's falling down on
the job.

--
Douglas von Roeder
949-336-2902

On Wed, Apr 26, 2017 at 2:55 PM, James Crate via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> On Apr 26, 2017, at 5:12 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > There are many, repetitive method calls. For example, each time the code
> > converts a byte range to a longint, it calls a function that returns the
> > byte order. As much as I never met a subroutine I didn't like, perhaps
> the
> > sheer number of them is impacting performance.
>
> As I mentioned, this shouldn’t matter if the code runs compiled.  It will
> definitely make a difference interpreted.
>
> If you’re running compiled, it’s likely the speed issue is related to
> running 4D on a spinning hard drive. An SSD covers up a multitude of sins,
> and is cheap enough that now there is no sensible reason to not use one. An
> 128GB SSD, big enough for most normal 4D databases, probably costs less
> than an hour of your time, and will likely fix not only this problem, but
> others as well.
>
> For example, a process which deletes a bunch of data from a 4GB datafile
> so it could be used in the standalone version used by field reps used to
> take 45 minutes on a MacBookPro with 7200rpm drive. After installing an
> SSD, that process was about 5 minutes. On a newer MBP with PCIe SSD, it
> takes 90 seconds.
>
> FWIW, I wrote a few methods to work with Cannon’s OBJ module to pack
> selections of records for multiple tables to a C_OBJECT along with their
> table specifications, and unpack into the same fields (by number, with type
> conversion if necessary). It doesn’t follow relations or handle subtables.
> For unpacking you get a count of records for a table and unpack
> individually by index. Very few method calls, runs fast both interpreted
> and compiled. Maybe I’ll push that up to my Github account tonight.
>
> Jim Crate
>
> **
> 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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-26 Thread Douglas von Roeder via 4D_Tech
On Tue, Apr 25, 2017 at 10:12 AM, Tim Nevels via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Here’s an idea. I’m assuming all the record processing is done in a single
> process. How much work would it be to modify the code so that it spawns
> multiple processes that can run at the same time? I don’t know the code,
> but maybe you could pass that big BLOG off to a method in another process
> and let it do the work. Have 3-4 of these processes all working at the same
> time. I wonder if that would give you performance boost.


Tim:

It's looking like the data format is causing the performance hit so I've
love to split this off across processes or CPU or workstations, for that
matter. The problem I'd hit trying that now is that the BLOB's contain data
from multiple tables and they also contain multiple updates for changes to
a given table so I really have to unpack the BLOB "to find out what's in
it". That's a fair amount of code to right but, to your point, there could
be a big payoff if I could split it across processes. In contrast, my
thinking is that there's a better payoff by simplifying the encode/decode
process. In addition to an anticipated performance boost, I won't need to
run special code just to view the data. Right now, I've got to run another
set of routines to display the data in a human readable form. All in all,
it's a very versatile approach to packaging data but it *is* a pain in the
ass to work with.

--
Douglas von Roeder
949-336-2902
**
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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-26 Thread Douglas von Roeder via 4D_Tech
On Tue, Apr 25, 2017 at 6:36 AM, James Crate via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> If you can easily modify the code, you could try commenting the SAVE
> RECORD command(s), and replace any queries for an existing record with
> REDUCE SELECTION($tablePtr->;0). That should be quick and easy and will
> show the speed of the unpacking only.  Alternatively, you could test
> importing into an empty database, which should remove the impact of queries
> and index updates.
>
> If there are many method calls and much pointer dereferencing, 4D will be
> very slow interpreted but much faster compiled.
>

Jim:

Excellent suggestions. Thank you.

There are many, repetitive method calls. For example, each time the code
converts a byte range to a longint, it calls a function that returns the
byte order. As much as I never met a subroutine I didn't like, perhaps the
sheer number of them is impacting performance.

The idea of run a synch session and committing records is a winner. I'll
give it a try.

--
Douglas von Roeder
949-336-2902 <(949)%20336-2902>
**
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: Diff 4D Write Documents

2017-04-26 Thread Douglas von Roeder via 4D_Tech
Kirk:

I understand your rationale. That's an ingenious solution - driving the
content of the order based on what's in the XML - and, given your product
mix, that's a good way to ensure that things stay in synch.

For this client, the furthest they need to go is to flag changed documents
and have a change report. These quotes are for large ticket items. Quotes
range from a dozen line items to about two hundred line items with total
pricing ranging from the low millions USD to just over a hundred million
USD. In this situation, we just need a flag and a report about what has
changed - dealing with those changes should be a manual process.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 11:28 PM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
>
> On Tue, Apr 25, 2017 at 3:50 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > ​...
> > The issue that my client is dealing with is that some of the
> > sales reps have futzed with some of the quote documents. By adding this
> > feature the sales reps will know that their 4D Write documents will be
> > tracked by the audit trail and that should cut out almost all of the few
> > instances of mischief.
>
>
> ​There we are. This is exactly why we transitioned away from 4D Write a
> number of years ago. It was the same issue - the db generates a 4D Write
> doc based on the data in the records but the sales reps could simply write
> in something else after the write doc is created but before the PDF is
> created or it's printed.
>
> My solution was to generate the PDF based on the data in the quote and not
> allow the quote to be altered once it's generated. I should say that in my
> db there is an [Order] table and a [Quote] table. The Order also has lots
> of related data like items, addresses, etc. When the quote is created I
> save all that related data in XML (old school - I'd use JSON now) and the
> PDF in the quote record. The specific verbiage is in the order as plain
> text (you could use styled text now) and the quotes are a standard format.
> This allows the salesreps to create multiple versions of a quote for the
> same order (accommodating options for various colors, finishes, etc). When
> a particular quote is accepted the Order is reset to whatever was on it
> when that quote was made. This guarantees the quote the customer signs is
> the one that gets into the system. Much more reliable than screwing around
> with trying to identify altered docs and manually reset the order to the
> document specifics.
> ​
> --
> 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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-27 Thread Douglas von Roeder via 4D_Tech
On Wed, Apr 26, 2017 at 10:37 PM, David Adams via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Gotcha. I've got my main code base in V13 still and like it fine.
>
> I still feel behind on this thread...what turned out to be the source of
> the slowdown? Packing? Unpacking? Transmission? Some combination or
> interaction of the above?
>
My suspicion is that the bottlenecks are the decoding and the inability to
Pause indexing.
I'm not thinking that there's much I can do about the decoding. There are a
lot of wrapper routines called as functions that do nothing but return the
value of a 4D constant. Most of those can be eliminated by just using the
4D constant. But the resource cost of loading a method and getting the
value of a constant is very low. And we're talking about updating 3.x
records per second - not 3.x hundreds of records but a Lawrence-Welkian "a
one anna two anna three" records per second.



> I ask because there are alternatives at every
> step. In arm-wavingly broad strokes:
>
> * Reducing the amount you need to transmit: Pays for itself quickly
> (usually.)
> * Reducing the amount you need to compare: Pays for itself quickly (or is
> likely to.)
> * Reducing the _number_ of transmissions: Can also be a big deal.
>
> On the last point, a non-4D example. Try downloading a couple of hundred
> individual files over FTP. Ugh. Takes forever. Now try transmitting those
> as a single archive. Fast. Any chance you could bundle what your remote
> users need in a file *in advance* (or on demand, I guess) and then transmit
> it as a download via a single call? You've got HTTP Get, as an example.
> Then they can unpack it and process it locally, even if their connection is
> closed.
>
No question about that. Performance tests of storage show that 4k blocks
are brutally slow compared to 1 GB blocks. Nature of the beast.
What we're hitting is not transmission time but time to encode/decode and
commit.++
The server is updating 3.5± records per second with a good chip, lots of
RAM, and an SSD. The folks in the field are doing the encoding on laptops
and then they're bringing down records, decoding them, and committing them.
The server can churn away for hours but this is a real pain for the folks
on the laptops.
"Sync early, sync often" is their watchword but there are some users who
wait until they have thousands of changes so they have to be patient and
wait until their computer finished processing.
The phrases "patient" and "wait until the computer is finished processing"
are not phrases that match "sales rep". Not even fuzzy match.



> Again, not sure I'm clear on the story so I may be saying things that are
> kind of irrelevant. Still, from what you say, this is one of those
> situations where some big gains are totally possible. Those are getting
> harder to find these days ;-)
>
Very true. On the other hand, "nothing is slow at 3 GHz".
Oh, wait…



> P.S. For loops are faster, as we all know ;-)
>
Two important things there - always use a longint for your index counter
and set the text for a For loop to a really small font and then color it
red. Works like a charm! ;-)


--
Douglas von Roeder
949-336-2902
**
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: Diff 4D Write Documents

2017-04-26 Thread Douglas von Roeder via 4D_Tech
Kirk:

Thanks for your comments (and everyone else).

I'll post an update when it's all done.

--
Douglas von Roeder
949-336-2902

On Wed, Apr 26, 2017 at 6:03 PM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
>
> ​Yeah that's a completely different universe from ours. At that point it
> makes sense to pay someone ​to go over the contract and synch the database
> to it.
>
> Let me know what your final solution to this is. It's an interesting
> problem.
>
> On Wed, Apr 26, 2017 at 1:54 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > For this client, the furthest they need to go is to flag changed
> documents
> > and have a change report. These quotes are for large ticket items. Quotes
> > range from a dozen line items to about two hundred line items with total
> > pricing ranging from the low millions USD to just over a hundred million
> > USD. In this situation, we just need a flag and a report about what has
> > changed - dealing with those changes should be a manual process.
> >
>
> --
> 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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-26 Thread Douglas von Roeder via 4D_Tech
On Wed, Apr 26, 2017 at 3:49 PM, David Adams via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I just went back to the top of this thread and scanned down...and I think
> that I'm not understanding a key detail. Douglas, you're saying that the
> packed records have 'meta-data', but it sounds like that data is a map to
> the packing. So, packed data types and offsets, something of that sort.
>
"map" is a much better description. The data is "in line" in the BLOB along
with the actual data.




> Would it be possible to re-engineer it so that you have key summary
> information stored somewhere? The ideal way to optimize something slow is
> to not do it at all!
>
Great way to put it.
"re-engineer" - I'm not all that keen on updating this code but, as you
point out, perhaps a small change can yield significant benefit.
It would seem to make far more sense to do something along the lines of,
for example, sending out a longint array where $byteOrder_AL{Type} contains
the Byte order value rather than accessing a wrapper routine for every
field type every time a value is pulled out of the BLOB.
Sheesh, we could even just use the literal value in the code! :-)


> I didn't get a sense what or if that might be. Is
> there a datestamp or s version stamp, or some sort of checksum that you're
> using to figure out if a record needs transmitting? If so, what about
> injecting that into the header, another field, an object field (seems like
> you might have a good use for an object field to serve as a key indicator
> store)? If this would prevent needless unpacking and needless transmission,
> it's potentially a big win. The break-even is that you avoid enough
> unpacking+transmission to pay for the extra storage cost & checks.
> Actually, if it were something searchable, perhaps you could search for the
> records that need sync using a simple index search (or searches) and then
> just bang through the result.
>
> I suspect I'm off the mark here, but just in case...I'm posting.
>
Glad to see you're posting again.

The app is in V13 now and will be moving to V15 over the Summer so there's
no 4D Object available yet.

The code checks each field against Old and, if the field has changed, it's
encoded and bundled into a BLOB. I don't know the algorithm used to crete
additional BLOB's but average number of records updated BLOB is 18 with a
median value of 7 (I've got data on about 700 synch sessions).

In addition to taking the server a while to chew through the records, it's
no picnic for the road warriors. They're on laptops and probably don't have
SSD's (something I didn't think of when I responded to Jim) so what takes
10 minutes on the server takes much longer when the user syncs and has to
unbundle all of these records on their little $1100 Dell laptop.

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

Re: Object visualize / browse

2017-04-21 Thread Douglas von Roeder via 4D_Tech
David:


No magic. Just the content of the string/Obect in a variable on the form
that you can scroll.

It's quite "straightforward" in that it displays the same data from the
Object but doesn't have the UI controls of the debugger. That would be
*quite* nice.

The work I've done to date with Objects has been with objects that I use as
structs to carry small payloads. That's quite different from inhaling reams
of data from a HTTP stream, for example.

Sounds like a great idea for a…


component. :-)


--
Douglas von Roeder
949-336-2902

On Fri, Apr 21, 2017 at 5:57 PM, David Adams via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> > If you're in V16.something, you can create a dynamic variable of type
> > Object. If  a
> > text var.
>
> It sounds like there's some magic to be had here that I haven't heard of. I
> just tried in V16 and found that setting an 'object' variable (explicit or
> dynamic) lets you display the contents of an 'object'. Basically, what you
> would get by stringifying the object and display it as text. What I don't
> see is what Justin is after, an interactive tree explorer for the JSON,
> like the Debugger has. Is there a way to get that? It would be a great
> feature. Really great. You would have hlists with close to zero hassle.
> Hey, there's an idea, bind an object to an hlist.
>
> Anyway, am I missing something that's already available?
> **
> 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: Object visualize / browse

2017-04-21 Thread Douglas von Roeder via 4D_Tech
David:

"component" - yup. if I price it right, I'll corner the entire market.

Agree about the hList idea. No question that once you get past a few dozen
rows, the quick and dirty scrolling variable approach *would* get old.


--
Douglas von Roeder
949-336-2902

On Fri, Apr 21, 2017 at 6:12 PM, David Adams via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> > Sounds like a great idea for a…
>
> > component. :-)
>
> While you are clearly a bad, bad man...I look forward to your component ;-)
>
> I do really like the idea an object bound to an hlist. That would make a
> very nice feature. Hlists already have all of the gooey goodness we would
> want. It's just the binding. For which you would need complete parsers and
> a tree.
> **
> 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: Object visualize / browse

2017-04-21 Thread Douglas von Roeder via 4D_Tech
Justin:

If you're in V16.something, you can create a dynamic variable of type
Object. If  wrote:

> Can anyone suggest a straightforward approach to displaying a 4D object as
> a
> browsable item - something like what you see in the debugger window, only
> in
> a dialog form?
>
>
>
> --
> View this message in context: http://4d.1045681.n5.nabble.
> com/Object-visualize-browse-tp5751523.html
> Sent from the 4D Tech mailing list archive at Nabble.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
**

Re: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Randy:

Good summary. This code is slightly more efficient on the transfer because
it packs multiple records into a given BLOB but after reading your posting,
this issue could be compounded by lack of server processing power.

"Just gotta make sure the client "syncs" often."
At times, some users dump thousands of records so perhaps the server's
getting overwhelmed.

Given that the computing resources used by the server to *de*code all those
BLOB's will be in the ballpark of the sum of the resources that all of the
standalones used to *en*code all of that data, if the standalones don't
"synch early, synch often", that's going to put a significant load on the
server machine. The more complex the encode/decode, the worse things are
for the server. And it the server's underpowered, large intermittent synch
sessions will exacerbate the situation.

Maybe one way to look at this is that this is an inverse "distributed
processing" situation - a single server has to reverse all of
the processing that's been done by N client workstations.


--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 8:40 AM, Randy Engle via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hi Douglas,
>
> I've been using Web Services (SOAP) for quite some time with our
> Synchronization module.
> I only pack the fields that have changed (or all if new record)
> Send an array of field numbers, and text array of string(values)
> Pack it all into a blob.
> Send 1 record per web service call.
> Seems fast enough for our purposes.  5-10+ records per second, depending
> upon record size and network.
> Just gotta make sure the client "syncs" often.
>
> Randy Engle
> XC2 Software LLC
>
> -----Original Message-
> From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Douglas
> von Roeder via 4D_Tech
> Sent: Monday, April 24, 2017 6:26 PM
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Cc: Douglas von Roeder <dvonroe...@gmail.com>
> Subject: Experience with FTSY Sync Code//Speed up Sync Code
>
> Anyone here have experience with Brad Weber's "FTSY Sync" code?
>
> The code in question was written almost 20 years ago to synchronize
> records between standalones and a client server system, and I know that is
> was used by a couple of companies inclduing Husqvarna in North Carolina.
>
> One aspect of the code that's challenging is that the V11+ code (the "new"
> code) could no longer use 4D Open so the design was changed to pack field
> data into BLOB's. The BLOB's contain metadata for every field including the
> field number, the field type, the data length, etc.
>
> When the synch records are unpacked, the metadata is used to move
> sequentially through the BLOB, converting each byte range back to its
> native 4D type using BLOB to text, BLOB to real, BLOB to longint, etc.
>
> My suspicion is that this method of encoding/decoding is contributing to
> poor performance* for updating records and I'm hoping that someone has
> resolved this issue.
>
>
>
> The underlying question is how much faster/slower would it be to
> encode/decode data using an alternative method?
>
> A much more simple alternative is to use a "field ID" (String(Table
> number;"000")+ the ID (a string)" as the tag/property name and use OB
> Get/Set(property;data;field type) to deal with the data.
>
> This approach would eliminate a significant amount of code, no question,
> but what would be the impact on performance?
>
> Comments, thoughts, and questions appreciated.
>
>
> *this is a V13 system so I can't use Pause index
>
>
>
> **
> 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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Kirk:

Each end user modifiable document is stored in a record.

Based my new understanding of the requirement, I'm thinking that a
"reference" copy of each document will be stored on the LAN in a folder
hierarchy. I can flag a document as having been changed on the standalone
and capture that as a new version of the reference document when the
document synchs back to the LAN. That allows me to leave the documents on
the server instead having to synch them.

The diffing can be done by the server machine, perhaps using LEP and on an
as-needed basis.



--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 10:39 AM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
> Is the document stored in a record or just loose in a folder?
>
> On Mon, Apr 24, 2017 at 2:20 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > I've been asked to update the code in an Audit Trail system so it will
> work
> > with 4D Write documents. Rather than simply tracking that there's been a
> > change and showing the old document vs the new one, I'd like to diff the
> > old vs new and be able to display the diff.
> >
> > The system has about a dozen LAN users and 25 users on standalones.
> Second,
> > it's Windows-only now but will be Windows and OS X as part of an upgrade
> > from V13 to V15/16.
> >
> > Any suggestions or recommendations will be appreciated.
> > --
> > Douglas von Roeder
> > 949-336-2902
> > **
> > 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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Chuck:

Thanks for your thoughts. They want to track *any* change in the document.

This is a classic case of the client telling me the "how" instead of
telling me the "what" (*what* they want versus *how* to get it).

I don't need a solution to run on multiple machines. Instead, I can track
changes as the documents are synchronized from server to standalone and
back and, if there's a change, do the diff on the server and generate a
report. That's much easier than having the diff function available for each
machine on the system.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 7:57 AM, Charles Miller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> On Mon, Apr 24, 2017 at 5:20 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > I've been asked to update the code in an Audit Trail system so it will
> work
> > with 4D Write documents. Rather than simply tracking that there's been a
> > change and showing the old document vs the new one, I'd like to diff the
> > old vs new and be able to display the diff.
> >
> > The system has about a dozen LAN users and 25 users on standalones.
> Second,
> > it's Windows-only now but will be Windows and OS X as part of an upgrade
> > from V13 to V15/16.
> >
> > Any suggestions or recommendations will be appreciated.
> >
>
> One comment is you will need to identify what should be compared. What are
> the rules.
> 1. Are formatting changes to be logged and shown?
> 2. Are spacing differences important?
> 3. Is case important?
>
> If you look at BBEDIT or Textwrangler you can see settings there for other
> ideas
>
>
> Regards
> Chuck
>
>
> --
> 
> -
>  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 Sever connectivity
>   http://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)
> 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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Tim:

There were delays in the code - for whatever reason, the original programer
(not Brad!) had delays of up to 15 seconds in some of processes.

I thought of kicking this out to multiple processes but that's involved.
The data has to follow a strict FIFO sequence so I'd have to examine the
BLOB's to ensure that sequence was followed. I can modify the metadata so
that I can avoid sequencing errors but if I modify how the data is encoded,
I'm leaning toward swapping out the BLOB code for JSON-ish code and seeing
what kind of throughput I get.

Per my email to Randy, server horsepower is a contributing factor so
perhaps this is a good reason for the client to upgrade their server and
see what benefits we get.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 10:12 AM, Tim Nevels via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> On Apr 25, 2017, at 12:01 PM,Douglas von Roeder wrote:
>
> > Some payloads are pretty good sized but I don't recall if compression is
> > used. The transmission time is very reasonable - everything just goes in
> > the crapper when it comes to unbundling. I haven't timed the decoding vs
> > encoding and then vs actually writing to disk. That might provide some
> > insight.
>
> Here’s an idea. I’m assuming all the record processing is done in a single
> process. How much work would it be to modify the code so that it spawns
> multiple processes that can run at the same time? I don’t know the code,
> but maybe you could pass that big BLOG off to a method in another process
> and let it do the work. Have 3-4 of these processes all working at the same
> time. I wonder if that would give you performance boost.
>
> Have you checked to code to see if there is any throttling going on? Maybe
> there are some DELAY PROCESS commands sprinkled around to keep the sync
> process from saturating the server.
>
> Did you say it was running as a stored procedure, or is it running on 4D
> Client.
>
> Tim
>
> 
> Tim Nevels
> Innovative Solutions
> 785-749-3444
> timnev...@mac.com
> 
>
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: 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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Kirk:

That's a sound approach.

In addition to the hash, my thinking is to store changed documents as
versions of the original ("reference") document instead overwriting the
original.

Next step is to find an app that will do a diff that I can display for the
end user.


--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 1:24 PM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
> I'd just grab the text of the document and hash it. MD5 is fine since it's
> not about security. Save the hash. If any text is changed the hash will
> change. Since it's in a record you can test for the modified record/
> changed hash.
>
> On Tue, Apr 25, 2017 at 10:49 AM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > Kirk:
> >
> > Each end user modifiable document is stored in a record.
> >
> > Based my new understanding of the requirement, I'm thinking that a
> > "reference" copy of each document will be stored on the LAN in a folder
> > hierarchy. I can flag a document as having been changed on the standalone
> > and capture that as a new version of the reference document when the
> > document synchs back to the LAN. That allows me to leave the documents on
> > the server instead having to synch them.
> >
> > The diffing can be done by the server machine, perhaps using LEP and on
> an
> > as-needed basis.
> >
> >
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> >
> > On Tue, Apr 25, 2017 at 10:39 AM, Kirk Brooks via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> > > Doug,
> > > Is the document stored in a record or just loose in a folder?
> > >
> > > On Mon, Apr 24, 2017 at 2:20 PM, Douglas von Roeder via 4D_Tech <
> > > 4d_tech@lists.4d.com> wrote:
> > >
> > > > I've been asked to update the code in an Audit Trail system so it
> will
> > > work
> > > > with 4D Write documents. Rather than simply tracking that there's
> been
> > a
> > > > change and showing the old document vs the new one, I'd like to diff
> > the
> > > > old vs new and be able to display the diff.
> > > >
> > > > The system has about a dozen LAN users and 25 users on standalones.
> > > Second,
> > > > it's Windows-only now but will be Windows and OS X as part of an
> > upgrade
> > > > from V13 to V15/16.
> > > >
> > > > Any suggestions or recommendations will be appreciated.
> > > > --
> > > > Douglas von Roeder
> > > > 949-336-2902
> > > > 
> **
> > > > 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
> > **
> >
>
>
>
> --
> 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: [OFF] Hardware advice - which new MacOS computer

2017-04-27 Thread Douglas von Roeder via 4D_Tech
Jody:

Looks like someone else really likes that Dell laptop -
https://tinyurl.com/mlk8csg



--
Douglas von Roeder
949-336-2902

On Sat, Apr 15, 2017 at 12:11 PM, G-Mail via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> First thanks to those that responded with their recommendations (Jeff,
> Kirk, Peter, and Chuck).
>
> After reading your recommendations, watching the rumour mill re Apple,
> checking out some Windows based products, and reflecting on my Apple
> experience (since I switched from Apple II… to MacOS back in 1987), I
> decided to put an Apple purchase on hold. It is at 'wait and see'. In my
> minor league opinion Apple continually abandons their professional users
> (Xserves, FinalCut Pro, FinalCut Pro Server, MacOS Server,  and in their
> current so called Pro hardware, etc). Yup, been burnt by each of those
> products.
>
> [Rant:=“On”]
> Not running a company for almost 4 years I could afford to be Apple
> centric. Over the last month I took my head out of my Apple centric view of
> computing. It became very obvious that Apple was all about consumer
> products that they can sell billions of. Their industrial design team is
> more about the wow look of form factor than meeting the needs of
> professionals. Designing the smallest possible laptops and calling them
> Pro, developing a amazing looking desktop and calling it ‘Pro’ is what is
> driving them.
>
> It is so easy to find truly high performance products that are in the
> Windows Market. Products using the fastest CPUs (i.e. KabyLake CPUs, and
> latest Intel E-series CPUs from Intel), offering up a range of RAM, and SSD
> sizes larger than what is avaialbe on the Mac’Pro’ models. I know Apple
> really likes to push everyone into the latest port types. Spending two
> months trying to find products to bridge the gap between USB-C and all my
> current devices was a challenge. Yes, I might like a new monitor but I have
> 3 great monitors sitting around that work great. I do not need to upgrade
> to 4k, 5k monitors. The lack of a selection of ports really pushed me to my
> decision. This then brought me to the realization of how long the last 2
> upgrades to their ‘Pro’ desktops have been. This also highlighted the
> decision by Apple to not have the ability to add cards to provide different
> kinds of ports. Of course which card developer is going to invest in
> developing drivers for their cards for MacOS with Apple’s history of
> decisions?
>
> Don’t get me wrong I am still a MacOS person. These conclusions made me
> think that unless Apple actually comes out with something Pro, I will
> adjust to being a Windows user with ‘Pro’ hardware, and a much lower class
> MacOS computer for when I need to test, and compile for the MacOS only. Of
> course Apple could change that direction if they came out with truly Pro
> hardware for a few years. The experience of the withdrawal (but not failed)
> Pro products that they pledged their allegiance to, along with the Pro
> users has made me think about being a Windows user for my professional
> life. Apple was making inroads into the Enterprise with their Xserve, and
> FinalCut Pro products. I know we were selling Xserves into all our client
> sites.
> [Rant:=“Off”]
>
> After all this what did I just go and do? I have jumped into a DELL XPS
> 15” with Windows PRO 64bit. It out performs the MacBook Pro on every one of
> the indicators I mention. It is much less money than a MacBook Pro too. I
> had to purchase a 4D Windows Development tool anyway to compile for my
> Windows users. Therefore the 4D purchase is not an extra cost of moving to
> Windows. As well, 4Ds move to a truly native Windows 4D environment helps
> this decision too. Time will tell if I can make the switch for real (last).
> This could be the start of the end of my professional association of MacOS
> everyday. My shinny new windows box arrives later this month.
>
> Jody
>
>
> **
> 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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-24 Thread Douglas von Roeder via 4D_Tech
Ron:

Oh yes, big fan of API Pack! I've used B2R and there's also JSON and a few
other approaches.

The issue I need to resolve is how much, if at all, will a different
encoding/deciding approach impact performance?

The current approach has got to be quite inefficient. The problem I've got
is that I can't come up with anything other than a WAG as to how much
faster it will be.

On Mon, Apr 24, 2017 at 7:06 PM Ronald Rosell via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
>
> I may be misunderstanding your application, but wouldn’t API Pack’s Record
> to Blob and Blob to Record functions work?  (It’s from pluggers.nl)
>
> We use that, first compressing then converting the Blob that contains the
> entire record to text before sending it as a variable via an HTTP Post.
> So, on the sending side the pseudocode is:
>
> $err:=API Record to Blob ($tablenum;$record)
> COMPRESS BLOB ($record)
> BASE64 ENCODE ($record)
> $varToSend:= BLOB to text ($record;UTF8 C string)
>
> On the other end, the variable is converted back to a Blob and then we use
> Blob to Record to create a 4D record with all of the fields.
>
> TEXT TO BLOB($record;$recblob;UTF8 C string)
> BASE64 DECODE($recblob)
> EXPAND BLOB($recblob)
>  // do some stuff here using other passed variables to
> identify/load the table and record, or create a new record, per below, and
> then
> $err:=API Blob To Record ($tablenum;$recblob)
>
> Along with the variable containing the record data, the HTTP post contains
> a few other variables including the table number, the key index field and
> the key index value, so the receiving database knows what table it’s
> updating and whether it’s revising an existing record or adding a new one.
> Using UUID’s instead of sequence numbers as the key field takes care of any
> issue of duplication between locally-generated records and received records
> from a remote system. Other than that we don’t need metadata for each
> field, as Record to Blob and Blob to Record handle that.
>
> Hope this helps!
>
> Ron Rosell
>
>
> > On Apr 24, 2017, at 6:42 PM, Wayne Stewart via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Doug,
> >
> > I do something similar.
> >
> > I use Web services (lazy option).  The sync records are in JSON (v13 so I
> > used NTK later versions use C_OBJECT commands) for the "small" fields and
> > pack big fields into a Blob.
> >
> > I can send code if you're interested.
> >
> >
> >
> > Regards,
> >
> > Wayne
> >
> >
> > [image: --]
> > Wayne Stewart
> > [image: http://]about.me/waynestewart
> > <http://about.me/waynestewart>
> >
> >
> > On 25 April 2017 at 11:25, Douglas von Roeder via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> >> Anyone here have experience with Brad Weber's "FTSY Sync" code?
> >>
> >> The code in question was written almost 20 years ago to synchronize
> records
> >> between standalones and a client server system, and I know that is was
> used
> >> by a couple of companies inclduing Husqvarna in North Carolina.
> >>
> >> One aspect of the code that's challenging is that the V11+ code (the
> "new"
> >> code) could no longer use 4D Open so the design was changed to pack
> field
> >> data into BLOB's. The BLOB's contain metadata for every field including
> the
> >> field number, the field type, the data length, etc.
> >>
> >> When the synch records are unpacked, the metadata is used to move
> >> sequentially through the BLOB, converting each byte range back to its
> >> native 4D type using BLOB to text, BLOB to real, BLOB to longint, etc.
> >>
> >> My suspicion is that this method of encoding/decoding is contributing to
> >> poor performance* for updating records and I'm hoping that someone has
> >> resolved this issue.
> >>
> >>
> >>
> >> The underlying question is how much faster/slower would it be to
> >> encode/decode data using an alternative method?
> >>
> >> A much more simple alternative is to use a "field ID" (String(Table
> >> number;"000")+ the ID (a string)" as the tag/property name and use OB
> >> Get/Set(property;data;field type) to deal with the data.
> >>
> >> This approach would eliminate a significant amount of code, no question,
> >> but what would be the impact on performance?
> >>
> >> Comments, thoughts, and questions appreciated.
> >>
> >>
> >> *this is a V13 system

Re: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-24 Thread Douglas von Roeder via 4D_Tech
David:

The transmission time is very manageable — these folks send in data from
very remote locations and the payload always arrives at the server. The
BLOB's are sent via web services and, IIRC, the BLOB's are pretty good
sized, some being over 100k.

The deal breaker is that the code is only updating about 3 records per
second it can sometimes takes days for the server to catch up.

--
Douglas von Roeder
949-336-2902

On Mon, Apr 24, 2017 at 7:42 PM, David Adams via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> > The current approach has got to be quite inefficient. The problem I've
> got
> > is that I can't come up with anything other than a WAG as to how much
> > faster it will be.
>
> It's been some time since I tested out size v. speed relationships in a
> similar setup. And, of course, it depends  on your hardware, network, etc.
> But, when I last tested it, the size of the download correlated pretty
> exactly with the download time. I mean end-to-end. So, the overhead on
> compression paid for itself nearly instantly. (The overhead proved to be
> small.) 30% smaller payload, 30% less time required to download it.
>
> Like you, I wasn't clear what the breakeven point was for the expense of
> compression. I couldn't find a place where compression was a bad bet.
>
> Assuming I'm on track with what you guys are talking about and
> haven't wandered off into the woods again...
> **
> 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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-24 Thread Douglas von Roeder via 4D_Tech
On Mon, Apr 24, 2017 at 8:30 PM, Wayne Stewart via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Mine performs similarly slowly (5-6 records per second) but it sends only
> one record per web service call.
>
> A smarter and less lazy person than me would bunch a few records into the
> one call, use compression etc.  One day I might implement this but you
> never can tell, I think beer is more interesting.
>

As you're pointing out, your code is not optimized yet you're getting twice
as many records. Something seems amiss.

The payload is sent in a single web service call with data from multiple
records being packed into the BLOB sequentially. It's complex code,
elegantly written.

Some payloads are pretty good sized but I don't recall if compression is
used. The transmission time is very reasonable - everything just goes in
the crapper when it comes to unbundling. I haven't timed the decoding vs
encoding and then vs actually writing to disk. That might provide some
insight.

--
Douglas von Roeder
949-336-2902
**
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: Can 4D Objects create memory leaks?

2017-07-28 Thread Douglas von Roeder via 4D_Tech
Tony:

It's a variable that respects 4D scoping rules so that should not happen.

That's one of the features of C_Object vs ObjectTools — also, you can see
what's in the Object vs having to use a separate editor window.

--
Douglas von Roeder
949-336-2902

On Fri, Jul 28, 2017 at 11:53 AM, Tony Ringsmuth via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> >v16
>
> Is it possible to create memory leaks using 4D Objects?
>
>
>
> If so, how?
>
>
>
> (I’m wanting to make sure that I’m NOT creating leaks)
>
>
>
> TIA,
>
>
>
> --
>
> Tony Ringsmuth
>
> Business Brothers Inc.
>
> 763-420-8686
>
> **
> 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: Converting Quick Reports from 4D 2004 to Modern Version

2017-08-02 Thread Douglas von Roeder via 4D_Tech
Tom:


Thank you for posting this info!


I'll run up a copy of V11 and convert them.




--
Douglas von Roeder
949-336-2902

On Wed, Aug 2, 2017 at 8:11 AM, Tom DeMeo via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> Hi Doug,
>
>
> I had a conversion with this problem going from v11 to v15. There were
> numerous quick reports that were written in 2004 and were being used, but
> not re-saved in v11.
>
> Quick Reports written in 2004 would open v11 but not v15. If they are
> saved in v11, we found you can then open them in v15. I don’t know about
> v12-14, but some or all of those  might serve to bridge this gap too.
>
> We did not automate conversions because we had lots of users who stored
> quick report files locally. We sent out notes to have them prep their
> reports for the conversion.
>
>
>
> Tom DeMeo
> **
> 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: FLUSH BUFFERS in v16

2017-05-03 Thread Douglas von Roeder via 4D_Tech
Jörg:

IIRC, 4D announced at the last Summit that the command was no longer needed
because of the new cache management code.

--
Douglas von Roeder
949-336-2902 <(949)%20336-2902>

On Tue, May 2, 2017 at 11:05 PM, Jörg Knebel via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hi All,
>
> Is there a replacement for FLUSH BUFFERS v16 or is it gone for good.
>
> 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
> **
**
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: FLUSH BUFFERS in v16

2017-05-03 Thread Douglas von Roeder via 4D_Tech
Jörg:

Sorry for my mistake. I thought it had been retired along with the
"priority sliders"

Thanks for the correction, Caroline.


On Tue, May 2, 2017 at 11:29 PM Jörg Knebel via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Thanks Douglas,
>
> > On 3 May 2017, at 16:22 AEST, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > IIRC, 4D announced at the last Summit that the command was no longer
> needed
> > because of the new cache management code.
>
> I must have mist that part…
>
> 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
> **

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

Re: v13 - how to create a 'folder' in Explorer

2017-05-10 Thread Douglas von Roeder via 4D_Tech
Chip:

Click the "Home" icon from the list of icons in the Explorer. The "+"
button will display a triangle, indicating, in this case, that a
hierarchical menu is available.

If you're going to set up folders for "objects" in your application, you're
well served by creating multiple levels of folders. At the first level,
create folders 0-9 and A-Z, as appropriate, and then create folders within
that are named after a specific module.

For example, my "E" folder has folders for "ERR" and "EXCEL".




--
Douglas von Roeder
949-336-2902

On Wed, May 10, 2017 at 11:46 AM, Cannon Smith via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Click the “+” button at the bottom of the Explorer and choose “New
> Folder”. Or right-click on an existing folder (or empty area in the
> Explorer) and choose New—>Folder to created a folder inside a folder.
>
> --
> Cannon.Smith
> Synergy Farm Solutions Inc.
> Hill Spring, AB Canada
> 403-626-3236
> 
> 
>
>
> > On May 10, 2017, at 12:41 PM, Chip Scheide via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > How do I create a folder in my project methods?
>
> **
> 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: 15.3HF1

2017-05-17 Thread Douglas von Roeder via 4D_Tech
Keon:

Hadn't thought to look there — excellent idea!

Thank you.

--
Douglas von Roeder
949-336-2902

On Wed, May 17, 2017 at 12:48 AM, Koen Van Hooreweghe via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hi Doug,
>
> You can find the download link on forums.4d.fr > Forums > Hotfix for 4D
> v15 ...
>
> Kind regards,
> Koen
>
> Op 17-mei-2017, om 00:06 heeft Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> het volgende geschreven:
>
> > An app deployed (beta testing) on 15.3 and I'm running into the BLOB to
> > user bug that was resolved in 15.3HF1.
> >
> > I can download 15.4 from 4D but can't find 15.3HF1.
> >
> > Can some good soul point me in the right direction for that?
>
>
>
> 
> Compass bvba
> Koen Van Hooreweghe
> Kloosterstraat 65
> 9910 Knesselare
> Belgium
> tel +32 495 511.653
>
> **
> 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: Schemes for record level access control

2017-05-15 Thread Douglas von Roeder via 4D_Tech
On Mon, May 15, 2017 at 8:01 AM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> David,
> Thanks for throwing this in. It really does make more sense to use a
> longint even if it is (currently) only a binary choice.
>

Kirk:

If you're using a number to represent a hierarchy, the surest way to think
of another category "after the code is done" is to use 1, 2, 3, 4, 5, etc.
as integers. Prior experience with Murphy would make me lean toward 10, 20,
30, 40, 50 so as to allow 15, 17, 38, etc.

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

Re: Disable close button on Splash screen windows v12

2017-05-12 Thread Douglas von Roeder via 4D_Tech
John:

The code shown above is from V12.5 and an old version of Win32. Per the
docs for Win32 8.1.2, the three commands listed above have been deprecated.
The new versions of the command use the same command name with an "Ex"
appended.

--
Douglas von Roeder
949-336-2902

On Thu, May 11, 2017 at 4:55 PM, Douglas von Roeder 
wrote:

> John:
>
> Just snarfed this from a legacy application and watched the code execute.
>
> $Error_Code:=gui_SetWndRect ($Window_Handle;0;0;<>WND_
> vWindow_Width;<>WND_vWindow_Height)
> $Error_Code:=gui_SetWindowLong ($Window_Handle;WS_THICKFRAME |
> WS_MAXIMIZEBOX;WIN_DISABLE;WIN_STYLE)
> $Error_Code:=gui_DisableCloseBox ($Window_Handle)
>
> Line 1 sets the window size
> Line 2 disables the minimize
> Line 3 disables the close box
>
>
>
> --
> Douglas von Roeder
> 949-336-2902 <(949)%20336-2902>
>
> On Tue, May 9, 2017 at 7:18 AM, truegold via 4D_Tech <4d_tech@lists.4d.com
> > wrote:
>
>> Hi All,
>>
>> 4D v12 Windows clients
>>
>> I have read all the threads in the Nug concerning this and can’t seem to
>> find a solution.
>>
>> I have been trying to figure out how to disable the close button on
>> Splash screen windows v12. Not the main Application window (that works).
>>
>> If I use the command “gui_DisableCloseBox(windowHandle)” from Win32API
>> it does disable the close button of the application window but not the
>> splash screen.
>>
>> I need the Splash screen to also have a disable close button.
>>
>> Why would I want to do that? because the client WANTS the splash screen
>> and keeps it maximized.
>>
>> Is there any straight-forward way using Win32API?
>>
>> 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
>> **
>
>
>
**
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: Reset Debugger Window in V13

2017-06-12 Thread Douglas von Roeder via 4D_Tech
Excellent - thank you!

Works like a charm.


On Mon, Jun 12, 2017 at 12:44 PM, Stephen J. Orth via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> $path:=Get 4D folder+"4D Preferences v13.4DPreferences"
>
> If (Test path name($path)=Is a document)
>
> $dom:=DOM Parse XML source($path)
>
> ARRAY TEXT($windows;0)
>
> $window:=DOM Find XML element($dom;"preferences/internal_prefs_4d/windows/
> window";$windows)
>
> For ($i;1;Size of array($windows))
>
> $name:=""
> $window:=$windows{$i}
>
> DOM GET XML ATTRIBUTE BY NAME($window;"name";$name)
>
> If ($name="4ddebugger")
> DOM REMOVE XML ELEMENT($window)
> End if
>
> End for
>
> XML SET OPTIONS($dom;XML Indentation;XML No indentation)
>
> DOM EXPORT TO FILE($dom;$path)
>
> DOM CLOSE XML($dom)
>
> End if
>



--
Douglas von Roeder
949-336-2902
**
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
**

Reset Debugger Window in V13

2017-06-12 Thread Douglas von Roeder via 4D_Tech
I'm working on site and the window settings in the debugger have changed
and I'm not able to use the debugger.


In V14 and 15, the Window Bounds that file is located in its own folder in
Roaming/4D Server/Window Bounds VXX. V13 doesn't use a Window Bounds folder
so I deleted this file, to no avail:

C:\Users\Doug\AppData\Roaming\4D Server\4D Preferences v13.4DPreferences

How do I reset the debugger window settings in V13 (Windows)?


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

Re: Saving open windows in Design environment feature

2017-06-22 Thread Douglas von Roeder via 4D_Tech
I use a "workspace palette" where a bug tracking case number is the One
"record" and the method windows that are open are the Many "records".

A pix of an earlier version is at this link
.

The code to open windows originally used API Pack but now uses the Method
access commands. Data can be saved in records, XML, JSON, etc.

It's very handy to be able to track groups of windows and it goes well with
4D Pop's window manager that lists the windows that are actually open.


--
Douglas von Roeder
949-336-2902

On Thu, Jun 22, 2017 at 1:51 PM, Jody Bevan via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Jim:
>
> Yes, always nice when the gang in Paris will write a feature. They have
> lower level access to this than we do and usually do it nicer than we can.
>
> In the mean time with the Design Object Access commands you could write
> this feature in for yourself. We are using these commands more and more.
> With the writing of our new shell we are building more developer tools into
> our shell to do a bunch of things. Really anything we find ourselves doing
> again and again. We have three windows we open via code right away as we
> always use them.
>
> Your post got me thinking if we do what you are saying. I am going to
> watch myself for the next month to see if I do. If I do, then I will write
> the code for it. In one of the windows we open up it has a built in spot
> for this kind of feature you are looking for. Most anything to make our
> development process faster, more convenient, less buggy, then I am all for
> it.
>
> Jody Bevan
> ARGUS Production Inc.
>
>
> > On Jun 22, 2017, at 11:34 AM, Jim Labos - infobase via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Before I create a feature request I thought I'd ask here to see if I am
> > missing something (sometimes yes, I am guilty of not reading the manuals
> > fully!).
> >
> > I would love to see an implementation for naming and saving "sets" of
> > windows in Design.
> >
> > It would be a way to organize sets of code and forms per module. So for
> > instance if you are working on several modules at once it gets to be a
> pain
> > (for me) to constantly have to go back and forth selecting methods etc.
> from
> > menu.
> >
> > So a way to save all the current open windows and have access to it from
> a
> > list in the design toolbar would be a great feature n my opinion. Opening
> > one "set" would close all current windows that are not in the called set
> or
> > we could have a way to "merge" and/or "append" to them as well.
> >
> > I know we can save methods etc. to "folders" but that is not as handy as
> the
> > above proposition.
> >
> > So 'am I crazy or is this something we could all use?
> >
> > Thanks
> >
> >
> >
> > -
> > Jim Labos - infobase
>
> **
> 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: v13 (+?) - method editor - method properties

2017-06-23 Thread Douglas von Roeder via 4D_Tech
Chip:

Hah - you fell into the trap (along with the rest of us!).

Put a string in the "Matching method name" field and then assign the
attributes.

That UI is *not* 4D's finest…

--
Douglas von Roeder
949-336-2902

On Fri, Jun 23, 2017 at 11:34 AM, Chip Scheide via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I may be missing something, but.
> if I select a method, or 20 and then (contextual menu) select
> 'Batch settings of attributes'
> I expect - it doesn't seem to work like this - that what ever attribute
> I select and value I give that attribute should be applied against the
> selected methods.
>
> does it work this way in newer versions?
>
> Chip
>
> ---
> Gas is for washing parts
> Alcohol is for drinkin'
> Nitromethane is for racing
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Saving open windows in Design environment feature

2017-06-25 Thread Douglas von Roeder via 4D_Tech
On Sun, Jun 25, 2017 at 6:32 AM, Jeremy French via 4D_Tech <
4d_tech@lists.4d.com> wrote:

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


I suspect that's a reference to not being able to open forms in the same
way that you can use the Method open path.

--
Douglas von Roeder
949-336-2902
**
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: voting for feature requests on the forum

2017-06-20 Thread Douglas von Roeder via 4D_Tech
Chuck:

No question - it's *not* intuitive. Just click on the number of stars that
you want to give it.

--
Douglas von Roeder
949-336-2902

On Tue, Jun 20, 2017 at 8:56 AM, Charles Miller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hi all,  there are a few feature requests I want to  vote for on forum, but
> as I have not done this before can not find where to do it can someone
> excuse my stupidity and tell me
>
> I can not read the XXX manual as there is not one.
>
>
> Thanks and regards
>
> Chuck
>
> --
> 
> -
>  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 Sever connectivity
>   http://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)
> 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: voting for feature requests on the forum

2017-06-20 Thread Douglas von Roeder via 4D_Tech
Chuck:

On my log in/home page, there are three "columns" of links. The center
column is titled "Public Forums". At the bottom of the list is "Plugin
SDK", just above that is "Feature Requests".

I'm specifying "my log in/home page" - perhaps your configuration is a bit
different.


--
Douglas von Roeder
949-336-2902

On Tue, Jun 20, 2017 at 9:02 AM, Charles Miller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> On Tue, Jun 20, 2017 at 11:59 AM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > Chuck:
> >
> > No question - it's *not* intuitive. Just click on the number of stars
> that
> > you want to give it.
> >
>
> OK but where do I see list. For example, I want to vote for feature request
> that 4D not implement data types in 4D but not in SQL as SQL can not access
> fields that are set as object. At least I can not see how to do it
>
> Regards
>
> Chuck
>
>
> --
> 
> -
>  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 Sever connectivity
>   http://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)
> 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: Cache Settings

2017-06-20 Thread Douglas von Roeder via 4D_Tech
Is there an error message?

--
Douglas von Roeder
949-336-2902

On Tue, Jun 20, 2017 at 10:34 AM, Robert McKeever via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> The arrays are always the same size.
>
> There is a variable, MyTop, which holds the number of cells from left to
> right. All of the arrays are sized to that number.
>
> And, the issue is intermittent.
>
> > On Jun 20, 2017, at 10:24 AM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Bob:
> >
> > I hit an error in a V13 system a few years ago where I was getting "the
> > array cannot be dimensioned". When I traced through the code, there was
> > plenty of memory available both in the stack and for the application. The
> > array was tiny - 12 elements ±.
> >
> > Here's the errant code and the "fix"
> >
> > C_TEXT(<>FB0047_T)
> >  //Modified by: dvonroeder 20090312 {0047}
> >  //Same problem as in PS_Color_eSAP_Materials_Load
> >  //The array cannot be dimensioned
> >  //UTIL_ARRAY_Insert_Elements (1;Size of
> > array(aDocument_Path_T);->aDocument_Name_T)
> >
> > C_LONGINT($index_L)
> > For ($index_L;1;Size of array(aDocument_Path_T))
> >
> >//aDocument_Name_T{$iIndex}:=DOCMGT_GetFileName_P4D
> > (aDocument_Path_T{$iIndex})
> > APPEND TO ARRAY(aDocument_Name_T;DOCMGT_FileNameFromFilepath
> > (aDocument_Path_T{$iIndex}))
> >
> > End for
> >
> > The issue was resolved when I changed the code to Append to array instead
> > of creating the array and assigning to the individual elements.
> >
> >
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> >
> > On Tue, Jun 20, 2017 at 9:59 AM, Robert McKeever via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> >> I have been running with 600mb cache memory under 4D V13. No problems.
> >> Under 4D V15, I seem to be having some arrays end up undersized (of
> course,
> >> in a compiled database running client-server). I increased it to 800Mb.
> >> Same issue. The code is the v13 database converted to v15.
> >>
> >> Should it use adaptive cache? or 1200Mb?
> >>
> >> _
> >> Bob McKeever  http://www.mswl.com <
> >> http://www.mswl.com/>
> >> McKeever's Software Wizardry
> >> Port Coquitlam, B.C.
> >> bobmckee...@mac.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
> > **
>
> _
> Bob McKeever  http://www.mswl.com <
> http://www.mswl.com/>
> McKeever's Software Wizardry
> Port Coquitlam, B.C.
> bobmckee...@mac.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
**

Re: Cache Settings

2017-06-20 Thread Douglas von Roeder via 4D_Tech
Bob:

I hit an error in a V13 system a few years ago where I was getting "the
array cannot be dimensioned". When I traced through the code, there was
plenty of memory available both in the stack and for the application. The
array was tiny - 12 elements ±.

Here's the errant code and the "fix"

C_TEXT(<>FB0047_T)
  //Modified by: dvonroeder 20090312 {0047}
  //Same problem as in PS_Color_eSAP_Materials_Load
  //The array cannot be dimensioned
  //UTIL_ARRAY_Insert_Elements (1;Size of
array(aDocument_Path_T);->aDocument_Name_T)

C_LONGINT($index_L)
For ($index_L;1;Size of array(aDocument_Path_T))

//aDocument_Name_T{$iIndex}:=DOCMGT_GetFileName_P4D
(aDocument_Path_T{$iIndex})
 APPEND TO ARRAY(aDocument_Name_T;DOCMGT_FileNameFromFilepath
(aDocument_Path_T{$iIndex}))

End for

The issue was resolved when I changed the code to Append to array instead
of creating the array and assigning to the individual elements.



--
Douglas von Roeder
949-336-2902

On Tue, Jun 20, 2017 at 9:59 AM, Robert McKeever via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I have been running with 600mb cache memory under 4D V13. No problems.
> Under 4D V15, I seem to be having some arrays end up undersized (of course,
> in a compiled database running client-server). I increased it to 800Mb.
> Same issue. The code is the v13 database converted to v15.
>
> Should it use adaptive cache? or 1200Mb?
>
> _
> Bob McKeever  http://www.mswl.com <
> http://www.mswl.com/>
> McKeever's Software Wizardry
> Port Coquitlam, B.C.
> bobmckee...@mac.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
**

Re: Cache Settings

2017-06-20 Thread Douglas von Roeder via 4D_Tech
Got it.

4D has been pushing us to large stack sizes for a long time so I've
switched to a Constant that resolves to 0.

Good luck with this.

--
Douglas von Roeder
949-336-2902

On Tue, Jun 20, 2017 at 10:55 AM, Robert McKeever via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Array Range Check Error
>
> I look at the line in the indicated method, and it has an array reference.
>
> So, now I check ahead of time and resize the array if it is ‘short’.
>
> I’ll try Tim Penner’s suggestion and check the stack size for the process
> running the method.
>
> > On Jun 20, 2017, at 10:43 AM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Is there an error message?
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> >
> > On Tue, Jun 20, 2017 at 10:34 AM, Robert McKeever via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> >> The arrays are always the same size.
> >>
> >> There is a variable, MyTop, which holds the number of cells from left to
> >> right. All of the arrays are sized to that number.
> >>
> >> And, the issue is intermittent.
> >>
> >>> On Jun 20, 2017, at 10:24 AM, Douglas von Roeder via 4D_Tech <
> >> 4d_tech@lists.4d.com> wrote:
> >>>
> >>> Bob:
> >>>
> >>> I hit an error in a V13 system a few years ago where I was getting "the
> >>> array cannot be dimensioned". When I traced through the code, there was
> >>> plenty of memory available both in the stack and for the application.
> The
> >>> array was tiny - 12 elements ±.
> >>>
> >>> Here's the errant code and the "fix"
> >>>
> >>> C_TEXT(<>FB0047_T)
> >>> //Modified by: dvonroeder 20090312 {0047}
> >>> //Same problem as in PS_Color_eSAP_Materials_Load
> >>> //The array cannot be dimensioned
> >>> //UTIL_ARRAY_Insert_Elements (1;Size of
> >>> array(aDocument_Path_T);->aDocument_Name_T)
> >>>
> >>> C_LONGINT($index_L)
> >>> For ($index_L;1;Size of array(aDocument_Path_T))
> >>>
> >>>   //aDocument_Name_T{$iIndex}:=DOCMGT_GetFileName_P4D
> >>> (aDocument_Path_T{$iIndex})
> >>>APPEND TO ARRAY(aDocument_Name_T;DOCMGT_FileNameFromFilepath
> >>> (aDocument_Path_T{$iIndex}))
> >>>
> >>> End for
> >>>
> >>> The issue was resolved when I changed the code to Append to array
> instead
> >>> of creating the array and assigning to the individual elements.
> >>>
> >>>
> >>>
> >>> --
> >>> Douglas von Roeder
> >>> 949-336-2902
> >>>
> >>> On Tue, Jun 20, 2017 at 9:59 AM, Robert McKeever via 4D_Tech <
> >>> 4d_tech@lists.4d.com> wrote:
> >>>
> >>>> I have been running with 600mb cache memory under 4D V13. No problems.
> >>>> Under 4D V15, I seem to be having some arrays end up undersized (of
> >> course,
> >>>> in a compiled database running client-server). I increased it to
> 800Mb.
> >>>> Same issue. The code is the v13 database converted to v15.
> >>>>
> >>>> Should it use adaptive cache? or 1200Mb?
> >>>>
> >>>> _
> >>>> Bob McKeever  http://www.mswl.com <
> >>>> http://www.mswl.com/>
> >>>> McKeever's Software Wizardry
> >>>> Port Coquitlam, B.C.
> >>>> bobmckee...@mac.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

Re: Favorite tricks and keystrokes: Please take one and leave on

2017-05-26 Thread Douglas von Roeder via 4D_Tech
A recent discovery for me was a quick way to open the explorer.

Put the insertion point in the method editor on an empty line and press
Ctrl-k.



--
Douglas von Roeder
949-336-2902

On Fri, May 26, 2017 at 6:06 PM, Chip Scheide via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> @
>
> [t@1]f@1:=seq@n@
> can result in:
> [table_1]Field_1 := Sequence Number
>
> it is amazing how short a line of code can be, before it is expanded
> - then you have to go back and ad the '\' to make it readable.  :)
>
> You can use the @ to shortcut any tokenizable item. Commands, tables,
> fields, (your) method names. Any line of code as it is typed can include
> any number of @s, sometimes I have as many @s as other characters.
>
> Chip
>
>
>
> > In honor of National Take-a-Penny/Leave-a-Penny Day, I thought it would
> be
> > nice to start a thread to collect people's favorite 4D tricks and
> keystroke
> > combos. How this came up is that Wayne Stewart and I recently joined
> Damon
> > Carley in giving some presentations in Sydney and New Zealand. One of the
> > biggest crowed pleasers?
> >
> > SELECTION TO ARRAY(\
> >   [Customer]ID;$customer_ids_at;\
> >   [Customer]LastName;$last_names_at)
> >
> > The "\" line break/continuation character. It's been out there for about
> 10
> > years, but not everyone knows about it. It's great! It's great for array
> > sort, selection to array/array to selection, and a lot of OB SET kind of
> > stuff. Great!
> >
> > Someone said "I'm sure that's in the docs somewhere, but how would you
> find
> > it?" Good point, I guess you just look for / ;-) Quite a few people
> started
> > sharing their favorite tips and it turns out that there are *tons* of
> them.
> >
> > So, here's mine:
> >
> > -
> > Code Line Break Character
> > -
> > You can break a single line of code into multiple lines to simplify
> reading
> > and editing using the / character.
> >
> > So, if you found that useful or if it reminds you of one of your
> favorites,
> > please post another one. I'm sure no one knows all of the good ones but
> > everyone must know a few.
> >
> > If anyone wants to post links to the docs, that's more than welcome.
> (Tim &
> > Miyako, we're looking at you because you've each spoiled us with good
> links
> > down the years),
> > **
> > 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
> > **
> 
> Hell is other people
>  Jean-Paul Sartre
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: 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: Favorite tricks and keystrokes: Please take one and leave on

2017-05-27 Thread Douglas von Roeder via 4D_Tech
Cmd-k works for me on 10.11.6 + 15.4 but not on 16R2.

With 16R2 Cmd-k "show definition" (open the method, open the docs for the
command, etc.) if an item is selected or it the insertion point is in the
"object" but it doesn't open the Explorer on an empty line.

If Cmd-k isn't working, the default Shift-Opt-Cmd-e does the trick.


And then there's the Alt/Opt + hover the cursor trick that works in newer
versions of 4D.



--
Douglas von Roeder
949-336-2902

On Sat, May 27, 2017 at 8:25 AM, Stephen J. Orth via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Wayne,
>
> Give me an example on where it does not work, as I use this extensively
> and it's one of the best things 4D has done for programmers.
>
> You can literally use this feature to automatically navigate to the source
> definition of what you cursor is in.
>
> Best,
>
>
> Steve
>
>
> -Original Message-
> From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Wayne
> Stewart via 4D_Tech
> Sent: Saturday, May 27, 2017 9:30 AM
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Cc: Wayne Stewart 
> Subject: Re: Favorite tricks and keystrokes: Please take one and leave on
>
> Doesn't alway work though :(
>
> On Sat, 27 May 2017 at 23:57, Chip Scheide via 4D_Tech <
> 4d_tech@lists.4d.com>
> wrote:
>
>
> **
> 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: Favorite tricks and keystrokes: Please take one and leave on

2017-05-27 Thread Douglas von Roeder via 4D_Tech
Steve:

R2 works with the default shortcuts keys so 4D might have just stopped
supporting the shortcut that I stumbled across.

I *do* like how it works - if something's selected, Ctrl-k will go to its
definition but if nothing's selected, Ctrl-k opens the Explorer.

--
Douglas von Roeder
949-336-2902

On Sat, May 27, 2017 at 9:27 AM, Stephen J. Orth via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
>
> Obviously I misspoke, V16R3 is still in beta.  Also, as you pointed out,
> R3 also does not open the Explorer when on a blank line.
>
> I'm curious if anyone has filed a bug report?
>
>
> Steve
>
>
> -Original Message-
> From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Stephen
> J. Orth via 4D_Tech
> Sent: Saturday, May 27, 2017 11:15 AM
> To: '4D iNug Technical' <4d_tech@lists.4d.com>
> Cc: Stephen J. Orth 
> Subject: RE: Favorite tricks and keystrokes: Please take one and leave on
>
> Doug,
>
> Well, V16R2 is still beta and not sure if that is why?
>
>
> Steve
>
>
>
> **
> 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
**

V15.4 & Shy Server Syndrome?

2017-05-18 Thread Douglas von Roeder via 4D_Tech
Just rolled out an application in version 15.4 (Windows) and I'm seeing
what I'll refer to as the "shy server syndrome".

V15.3 was installed but I installed 15.4 to get past an issue resolved in
15.3. When I launch the source code, the compiled application, or the built
server application, the Admin window closes immediately after launch. This
did not happen in 15.3.

To reopen the Admin window to a usable state I have to resort to "minimize
window", which causes the Admin window to be minimized, then close the
window by clicking on the close box, then select the Administration window.

If I skip these steps and force the admin window to open, the window
displays a vertical rectangle on the left 90% of the window with the
monitor icon and the word "Monitor" below it and, in the right 90% of the
window are alternating medium gray and dark gray bands, with the Users icon
centered and the word "Users (0)" under the icon.

I *can* go through the rigamarole of fixing the window (it only happens at
startup) but I'm wondering if there's something else I can do to fix this,
apparently, visual-only issue.

--
Douglas von Roeder
949-336-2902 <(949)%20336-2902>
**
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: Primary key contains duplicate values

2017-05-19 Thread Douglas von Roeder via 4D_Tech
I'm hitting the same issue that Gary ran into though I'm trying to convert
a 2004 data file to run agains the V15.4 structure file.

I added PK's using the code from Bob Miller's Summit presentation (many
thanks for a superb presentation Bob!) so I'm comfortable that the PK's are
done right.

The issue - when I convert the 2004 data file, 4D reports that 53 out of
105 tables have duplicate PK values. What are my options for resolving this
issue?


--
Douglas von Roeder
949-336-2902

On Sat, Aug 29, 2015 at 3:09 AM, Ortwin Zillgen  wrote:

>
> > Am 28.08.2015 um 19:37 schrieb Gary Boudreaux :
> >
> > FYI, this issue has been resolved. When I put my "live" data file into
> the folder with the new structure, I didn't think to delete the old indx
> file. Once I deleted that file and restarted 4D, the problem went away when
> 4D rebuilt the index file. So the issue was actually duplicates in the
> _index_ file, not in the data itself.
>
> thx a lot.
> Did you tell 4D about that? Suppose, they want to know.
>
>
> Regards
> O r t w i n  Z i l l g e n
> -
>    
>  
> member of developer-network 
>
> **
> See how easy it is to extend your 4D solutions to Web and mobile. New
> opportunities await you with 4D v14!
>
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: 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
**

15.3HF1

2017-05-16 Thread Douglas von Roeder via 4D_Tech
An app deployed (beta testing) on 15.3 and I'm running into the BLOB to
user bug that was resolved in 15.3HF1.

I can download 15.4 from 4D but can't find 15.3HF1.

Can some good soul point me in the right direction for that?

--
Douglas von Roeder
949-336-2902
**
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: Get table fragmentation

2017-05-30 Thread Douglas von Roeder via 4D_Tech
Cannon:

You're welcome.

--
Douglas von Roeder
949-336-2902

On Tue, May 30, 2017 at 12:59 PM, Cannon Smith via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hi Doug,
>
> Thanks for the information. I can see that there probably isn’t an easy
> way to algorithmically have a server tell me when it needs to be compacted.
> I guess I’ll just have it report information to me, similar to what you are
> doing, and use my brain.
>
> Thanks!
>
> --
> Cannon.Smith
> Synergy Farm Solutions Inc.
> Hill Spring, AB Canada
> 403-626-3236
> <can...@synergyfarmsolutions.com>
> 
>
>
> > On May 30, 2017, at 10:55 AM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > The table fragmentation level is a lot like a temperature - it's one
> number
> > that indicates something ("it's cold") but other factors that a lead us
> to
> > decide "it's too cold to go outside because it's too
> > humid/windy/dry/calm/etc."
>
> **
> 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: Get table fragmentation

2017-05-30 Thread Douglas von Roeder via 4D_Tech
Cannon:

The table fragmentation level is a lot like a temperature - it's one number
that indicates something ("it's cold") but other factors that a lead us to
decide "it's too cold to go outside because it's too
humid/windy/dry/calm/etc."

In addition to fragmentation % look at the number of records in the table,
frequency of access, user audience for the data, RAM/cache, storage medium,
the downtime required to resolve the issue, and, last but not least, is to
determine if the fragmentation level is having a material impact on
performance.

If you're on SSD's, with a seek time of parts of a millisecond, the impact
of high fragmentation will be less compared to being on a spinning drive,
which is heavily impacted by fragmentation because of seek time being so
much greater than an SSD.

If you've got the datafile and indexes in RAM, does fragmentation matter?

I generate an Excel report that displays, by table, the records in table
and the fragmentation percentage. Tables that are 20%+ fragmented are
marked with 10 asterisks tables and that are 10-20% are marked with five
asterisks. In the one system that's using the code, the tables that have
the highest fragmentation levels are contain only dozens or perhaps
hundreds of records and there's no noticeable impact on performance so we
don't perform any extraordinary maintenance.



--
Douglas von Roeder
949-336-2902

On Tue, May 30, 2017 at 7:40 AM, Cannon Smith via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hi Chuck,
>
> That’s a good question. I can remember hearing both ways on this at
> Summits. Definitely less of an issue with SSDs, but I think it still can be
> in some circumstances? Makes me wonder if there are any tech notes on this.
> I’ll have to take a look.
>
> Thanks.
>
> --
> Cannon.Smith
> Synergy Farm Solutions Inc.
> Hill Spring, AB Canada
> 403-626-3236
> 
> 
>
>
> > On May 30, 2017, at 8:05 AM, Chuck Miller via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > One more thing if you are running using SSDs I do not think
> fragmentation is an issue?
>
> **
> 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: Favorite tricks and keystrokes: Please take one and leave one

2017-05-30 Thread Douglas von Roeder via 4D_Tech
Chip:

I use a "workspace" palette for window management.

Each "workspace" is titled using the ticket number + title for the ticket
in my bug tracking system (I use FogBugz). After creating a workspace, Per
the pix here
, I
use the buttons on the palette to CRUD the content of the workspace.

When I've finished working on an issue, I press Alt+close box to close all
of the windows and then click on another workspace to open the windows for
other tasks.


--
Douglas von Roeder
949-336-2902

On Tue, May 30, 2017 at 9:52 AM, Chip Scheide via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> this is where Windowmizer is handy
>
> Minimize all open windows to their own title bar.
> expand Explorer window -
> open new stuff
>
> the 'old' stuff never need to close  :)
>
> On Tue, 30 May 2017 10:45:30 -0600, Tom Dillon via 4D_Tech wrote:
> > I use a method called WindowList which puts a list of all the Design
> > Environment windows open onto the clipboard. I paste this into a
> > method called _Work to keep "project" parts readily available. So,
> > when I need to work on something else for a while, all the other
> > project windows can be closed and opened back up later.
> >
> > Basically:
> >
> > WINDOW LIST($aWinRef)
> > ARRAY TEXT($aWinName;Size of array($aWinRef))
> > For ($Ndx;1;Size of array($aWinRef))
> >   $aWinName{$Ndx}:=Get window title($aWinRef{$Ndx})
> > End for
> >
> > plus a big Case statement for windows I don't want to keep, like the
> > Explorer, etc. And, of course I put a comment character at the
> > beginning of each line.
> >
> >
> > Here's the full code for anyone interested:
> >
> >   // WindowList
> >   // Puts a list of all the Design Environment windows open onto the
> > clipboard
> >
> > C_LONGINT($Ndx)
> > C_TEXT($Text;$Title)
> > C_BOOLEAN($Add)
> >
> > ARRAY LONGINT($aWinRef;0)
> >
> > WINDOW LIST($aWinRef)
> > ARRAY TEXT($aWinName;Size of array($aWinRef))
> > For ($Ndx;1;Size of array($aWinRef))
> > $aWinName{$Ndx}:=Get window title($aWinRef{$Ndx})
> > End for
> >
> > SORT ARRAY($aWinName)
> > $Text:="` --- "+String(Current date;7)+" ---"+Char(13)
> > For ($Ndx;1;Size of array($aWinName))
> > $Title:=$aWinName{$Ndx}
> > $Add:=False
> > Case of
> >   // The first block is NOT added to the list of windows.
> > : ($Title="")
> > : ($Title="Custom")
> > : ($Title="Structure @")
> > : ($Title="List of tables")
> > : ($Title="@ - Explorer")
> > : ($Title="Method: aaa@")
> > : ($Title="Method: _@")
> > : ($Title="Method: .@")
> > : ($Title=("Method: "+Current method name))
> > : ($Title="Form:@")
> > $Title:=Replace string($Title;"]";"];\"")+"\""
> > $Add:=True
> > : ($Title="Form Method:@")
> > $Title:=Replace string($Title;"Form Method: ";"")
> > $Title:=Replace string($Title;"]";"];\"")+"\""
> > $Add:=True
> > : ($Title="Object Method:@")
> > $Title:=Replace string($Title;"Object Method: ";"")
> > $Title:=Replace string($Title;"].";"];\"")
> > $Title:=Replace string($Title;".";"\";")
> > $Add:=True
> > Else
> > $Add:=True
> > End case
> > If ($Add)
> > $Title:=Replace string($Title;"Form: ";"")
> > $Title:=Replace string($Title;"Method: ";"")
> >
> > $Text:=$Text+"` "+$Title+Char(13)
> > End if
> > End for
> > $Text:=$Text+"` ---"+Char(13)+Char(13)
> > SET TEXT TO PASTEBOARD($Text)
> > BEEP
> >
> >
> >
> > --
> >--
> >Tom Dillon   825 N. 500 W.
> >DataCraft   Moab, UT 84532
> >tomdil...@datacraft-inc.com   720/209-6502
> >--
> >Chasing a thing does not ensure that it's actually there.
> >--- Sunastar
> >--
> >
> >
> > **
> > 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
> **
>
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html

Re: Feature request : Set Belongs to (Setname) -> table reference

2017-06-02 Thread Douglas von Roeder via 4D_Tech
Chip:

Added my vote.

--
Douglas von Roeder
949-336-2902

On Fri, Jun 2, 2017 at 2:37 PM, Chip Scheide via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> test of feature request:
> A useful function would be to be able to determine what table a set
> belongs to.
> I.e. Does the Set "My_Set" contain records from [Table1], [Table2],
> [Table...], [TableN]
>
> This would help to eliminate issues with (accidentally) trying to do
> set manipulations on sets from different tables.
>
> I envision, as I put in the title
> Set Belongs to (Setname) -> table reference of some sort (pointer,
> table number, etc)
>
> 4D (the software), internally "knows" which set(s) belong to which
> table.
> Why can't we, developers, see this information?
>
> link to vote:
> http://forums.4d.fr/Post//19505952/1/
>
> hope someone like the idea
>
> Chip
> ---
> Gas is for washing parts
> Alcohol is for drinkin'
> Nitromethane is for racing
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
**
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: syntax : pointer to an element of a sub-array of 2D array

2017-06-02 Thread Douglas von Roeder via 4D_Tech
Tim:

Auto correct? Ah, OK, I'll give you that one. :-)


--
Douglas von Roeder
949-336-2902

On Fri, Jun 2, 2017 at 3:40 PM, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com
> wrote:

> On Jun 2, 2017, at 5:24 PM,Douglas von Roeder  wrote:
>
> > On Fri, Jun 2, 2017 at 12:20 PM, Tim Nevels via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> >> quest to master a nuisance of the 4D language regarding pointers.
> >
> > "nuisance" (S/B "nuance")
> >
> > Careful, there - that floor is slippery, Dr. Freud!  ;-)
>
> I curse thee oh Steve Jobs for providing us with auto-correct to make
> people say more stupid things than they normally would. :)
>
> Also a big thank you to Doug for breaking my balls on this one. :)
>
> I hope you are planning to attend 4D Summit 2018 in Washington DC. I’ll be
> there.
>
> Rumor has it that 4D v17 is going to be a game changing version.
>
> Tim
>
> 
> Tim Nevels
> Innovative Solutions
> 785-749-3444
> timnev...@mac.com
> 
>
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: 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: syntax : pointer to an element of a sub-array of 2D array

2017-06-02 Thread Douglas von Roeder via 4D_Tech
On Fri, Jun 2, 2017 at 12:20 PM, Tim Nevels via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> quest to master a nuisance of the 4D language regarding pointers.



"nuisance" (S/B "nuance")

Careful, there - that floor is slippery, Dr. Freud!  ;-)


--
Douglas von Roeder
949-336-2902
**
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: FootRunner + V13.5 Windows?

2017-06-14 Thread Douglas von Roeder via 4D_Tech
Tim:

When we get the app to V16, I'll use Process 4D tags but this issue needs
to be resolved now, when the app is in V13.

--
Douglas von Roeder
949-336-2902

On Tue, Jun 13, 2017 at 5:22 PM, Timothy Penner via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hi Doug,
>
> I am not sure about Footrunner (maybe Pat's suggestions about C++
> Redistributable files will help).
>
> But I wanted to provide some light at the end of the tunnel by
> reminding/informing you that beginning with v16 this functionality can be
> achieved directly in 4D without any plugins simply by using PROCESS 4D TAGS
> and the #4DCODE tag.
> http://livedoc.4d.com/4Dv16/help/Title/en/page2850.html#2880146
>
> -Tim
>
>
>
>
> **
> 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: FootRunner + V13.5 Windows?

2017-06-14 Thread Douglas von Roeder via 4D_Tech
Pat:

Thanks for the suggestion. I'll give that a try.

--
Douglas von Roeder
949-336-2902

On Tue, Jun 13, 2017 at 5:06 PM, Pat Bensky via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
> We had a problem like this with a customer last year and we were able to
> (kinda) fix it by installing the appropriate version of the C++
> Redistributable. I say "kinda" because at one point we got it working, and
> then it stopped working again - I think the customer's IT guy changed
> something that broke it again, but don't know what. In the end we wrote a
> component to do the job instead. But anyway, that might be worth checking.
>
> https://www.microsoft.com/en-gb/download/details.aspx?id=
>
> HTH!
> Pat
>
> On 14 June 2017 at 00:17, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > I'm trying to use FR with 13.5 on Windows. My runs fine interpreted but
> > "nothing happens" running compiled.
> >
> > I'm not modifying records so I don't know that it can't modify records.
> The
> > code that I've written performs a looping operation to Sum the size of a
> > picture field and then displays the result.
> > Run the code and "nothing happens".
> >
> >
> > A second method contains all the code shown here:
> >
> > ALERT("Hello world")
> >
> > Run *that* code and "nothing happens".
> >
> >
> > In all cases, the code runs interpreted but the Alert does not
> display…even
> > the one line of code shown above.
> >
> > Any help is much appreciated.
> > --
> > Douglas von Roeder
> > 949-336-2902
> > **
> > 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
> > **
>
>
>
>
> --
> *
> CatBase - The Database Publishing Solution
> tel: +44 (0) 207 118 7889
> w: http://www.catbase.com
> skype: pat.bensky
> *
> **
> 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: Selection to JSON and Record Number

2017-05-01 Thread Douglas von Roeder via 4D_Tech
Kirk:

Not that I was able to figure out.

Looking through some C_Object that I wrote a while back and I'm seeing


ARRAY LONGINT($recNums_AL;0)
LONGINT ARRAY FROM SELECTION([T038_Quote];$recNums_AL)


in code that calls Selection to JSON using template objects.




--
Douglas von Roeder
949-336-2902

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

> Is there a way to include Record number as part of a c-obj template to use
> with Selection to JSON?
>
> --
> 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: Tip: Code to get all thread-safe commands

2017-05-06 Thread Douglas von Roeder via 4D_Tech
I saw the Gestalt command and figured it was a new command (with Macintosh
roots).

So, what other things were "leaked"?


On Sat, May 6, 2017 at 8:09 PM Keisuke Miyako via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> also check out the "How Do I?" example
>
> http://blog.4d.com/preemptive-processes-for-4d-language/
> http://download.4d.com//Demos/4D_v15_R5/HDI_Command_name.zip
>
> another important piece of the puzzle is PROCESS PROPERTIES
>
> http://doc.4d.com/4Dv16R2/4D/16-R2.1620/PROCESS-PROPERTIES.301-3111842.en.html
>
> if you've attended JPR's training session you would have seen an
> undocumented feature
> Gestalt ("4thr") but PROCESS PROPERTIES is the official way to do it;
> http://doc.4d.com/4Dv16R2/4D/16-R2.1620/Gestalt.301-3111463.en.html
>
> > 2017/05/07 9:47、David Adams via 4D_Tech <4d_tech@lists.4d.com> のメール:
> >  // GetCommandList
>
>
>
> **
> 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
> **

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

  1   2   3   4   >