On Aug 29, 2018, at 2:00 PM,Richard Wright wrote:

> Is there a cross reference of language commands between 4D Write and 4D Write 
> Pro or do we have to all figure it out for ourselves? 
> 
> I’m mystified as to why wrappers for the old commands could not have been 
> created so as to make the move to 4D Write Pro relatively painless. E-node 
> did this very nicely when they created the new API for AreaList. All the old 
> commands still work because they are internally mapped to the new ones. Why 
> can’t this be done for 4D Write Pro? If it’s truly ready to go, scrap 4D 
> Write but create a shell plugin that maps all the old commands to the new. 
> With Mac Mojave being the last OS to support 32 applications it’s going to 
> get serious pretty soon.

Hi Rich,

You have to figure it out for yourself. And you have to rewrite — from scratch 
— all existing 4D Write Plugin code. No direct one-to-one- command replacement. 
Some commands not available now. Some commands now require multiple 4D commands 
to accomplish the same thing. 

They said that this was a project where they decided from the very beginning to 
not provide any programming language legacy support. None. Zero.  

The only legacy support they promised to provide is to convert legacy 4D Write 
documents. 

You are on your own dealing with any programming code. 

This is the general takeaway I get with this issue. The 4D Write Plugin still 
works and can coexist with 4D Write Pro. So you can start migrating — which in 
this case is rewrite it from scratch — and continue to use your old code. Once 
you have all the code rewritten and tested and working, you can dump the old 
code, and you’ll have to when you remove the plugin because all the plugin 
command will no longer tokenize. So get ready to delete a bunch of methods. 

The only reason to stop using 4D Write Plugin is if you want 64bit 
compatibility. That’s basically it. If you can live with 32bit 4D Client you 
are fine. But if you want to run 64bit 4D Client and use 4D Write, you must 
switch to 4D Write Pro. 

For one of my clients they are excited about getting SDI mode on Windows. 
Everyone has multiple monitors and they have wanted this for a long time. Now 
they can have it. But they are the 90 user 4D Write Plugin client. So to get 
SDI you MUST go to 64bit compiled version. So they are going to have to pay for 
the 4D Write code rewrite just so they can get SDI. So they are swallowing it, 
but not super happy about it. 

Crazy thing is that to get SDI all you really need to do is check a checkbox 
and recompile. But if you use 4D Write, then it requires a lot more work.

As they say… it is what it is. 

But I have a crazy idea… 

What if someone created a 4D component that had the major 4D Write Plugin 
commands with all the same parameters but as 4D component methods. And each 
method accomplished the same results as the plugin command. Then you could 
remove the 4D Write Plugin, install the component and run a syntax check to 
expose every method and line using the plugin commands. Then you open each 
method and force a retokenization to magically change each line to use the 
component method instead of the plugin command. That gets you 90% of the way 
there without a major code rewrite.

I did exactly this for 2 clients — different than these 2 clients — when I 
upgraded them from v2004 to v11 and 4D dropped the 4D Open for 4D plugin. I 
created a “4D Open for 4D SOAP” component that allowed me to not rewrite all 
the 4D Open code. It was a lot of work, but in the end it was less than 
rewriting all the existing code. And I could use it for 2 clients. The 2 shared 
the upgrade cost. 

When I get ready to do the SDI work for 1 client and need to rewrite all the 4D 
Write code, I’m going to look into doing the same thing. Might be possible. 
Might not be possible. But at least I’ve done it before so probably a day or 
two of analysis and prototyping work will tell me if it can be done. 

Tim

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

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

Reply via email to