If I can find my txa editor, its work in progress mind, you might have better luck with that. It makes the txa file like a spreadsheet so you can do bulk updates using search and replace but you need knowledge of the txa rules/format.
For example to port a c7+ txa back to c6, just remove the guid local variables from each c7+ procedure.
And there was some sort of process built into clarion where if you changed the base cw template to abc it put all the legacy embeds into abc equivalents.
Yeah, I wrote a thunker years ago to allow the ABC app to call the Legacy procedures.
Just would have love to have all abc, i’ve learned to live with it.
I’ve actually had some success with Mark’s Legacy to ABC conversion app. But it is finicky!
What I would like to know is; What specific changes are needed in a Legacy TXA to change it to an ABC TXA? I know there’s places where you change text from “Clarion” to “ABC” but there’s got to more to it than that.
Some templates can work in both the clarion and abc base template chains, their embeds operate mainly outside of both base templates.
Some add-on templates are unique to the base template, and they might not use the same naming schema for their embeds in the abc template. So then you have to find and match up their equivalent in the abc template and make sure the cw code moves to the right abc addon embed.
Some templates only exist for cw, sometimes templates have to be removed and sometimes the need to migrate to a different suppliers template exists. Eg dastools security for capesofts secwin.
Theres also some txa format differences when certain numbers are reached or exceeded which can catch parsers out if you dont know about them.
And sometimes the increased functionality that can be used in the base abc template needs to be switched on en-masse as well.
Not all the embeds are in the exact same place they are in legacy. So behavior may be different. Or the legacy embed template got changed to a new embed for the ABC.
Kevin
C-415.819.1415 Communication is the key to a successful relationship.
A problem in C5 Legacy the “Resizing Window” embeds came before “After Opening Window”, but ABC had them in the other order. In C6 the Legacy order changed to match ABC which changed the order of code and broke some things, obviously the code that assumed resizing was done. This surfaced on conversion from C5 to C9,10,11.
! --- C5 Legacy in Standard.TPW %StandardWindowOpening ---
OPEN(%Window)
#EMBED(%BeforeWindowIniResize,'Before Resizing Window From INI file')
#EMBED(%AfterWindowIniResize,'After Resizing Window From INI file'),HIDE
#EMBED(%AfterWindowOpening,'After Opening the Window')
! --- C11 ABC in ABWindow.TPW ---
SELF.Open(%Window) #<! Open window
#EMBED(%AfterWindowOpening,'After Opening the Window'),LEGACY
#EMBED(%BeforeWindowIniResize,'Before Resizing Window From INI file'),LEGACY
#EMBED(%AfterWindowIniResize,'After Resizing Window From INI file'),HIDE