Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Hacking objects classes
Message
From
17/02/2016 14:04:03
 
 
To
17/02/2016 10:14:50
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01631600
Message ID:
01631620
Views:
68
>I used to know this by heart but I forgot all the necessary steps. I know I have it in a book somewhere but still I wanted to ask here because I'm sure it'll be an easy reply for a lot of developers here.
>
>So I have a form with a bunch of textboxes for example. I want to change the class of that textbox without having to remove those textboxes from my form and adding the one from the new wanted class.
>
>Instead of me hacking manually the required objects do you know if someone developed a tool to do that hacking faster?

Hi Denis:

Another option you can use is converting your form with FoxBin2Prg and replace all occurrencies of the class with the new one.

In this example of part of a form converted to text, you can replace the classlib of classes 'C11' and 'C21' (ClassLib="clases.vcx") with another classlib, ie: ClassLib="anotherlib.vcx":
*** Converted to text with FoxBin2Prg
DEFINE CLASS form1 AS form 
 	*< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="C11" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="C21" UniqueID="" Timestamp="" />

	Caption = "Form1"
	DoCreate = .T.
	Name = "Form1"

	ADD OBJECT 'C11' AS c1 WITH ;
		Left = 44, ;
		Name = "C11", ;
		Top = 32
		*< END OBJECT: ClassLib="clases.vcx" BaseClass="custom" />

	ADD OBJECT 'C21' AS c2 WITH ;
		Left = 44, ;
		Name = "C21", ;
		Top = 76
		*< END OBJECT: ClassLib="clases.vcx" BaseClass="custom" />

ENDDEFINE
Fernando D. Bozzo
Madrid / Spain
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform