Дополнения пользователей Перевод формы из scx в prg
Версия 2. Исправленная и улучшенная.
|
[+][?] |
Дмитрий Петров
27.09.02 10:06:04 |
|
Привет, я немного не догоняю.
Поправьте пожалуйста если я что то не то говорю или
не понимаю.
А что если просто сохранить форму как класс и код
этого класса кинуть в прг, будет не то-же самое?
Я сейчас для интереса попробовал это сделать на время в
форме с кучей объектов в.т.ч. с вложенными в контейнеры.
Ушло 30 сек.
Поймите меня верно, я просто пытаюсь понять полезность
Вашего решения.
с уважением Дмитрий.
|
|
Александр Семеновский
27.09.02 10:42:41 |
|
По-моему в Visual FoxPro есть встроенный инструмент для этого
см. Class Browser -> Open (ваш SCX-файл) -> View Class Code
|
|
Александр
27.09.02 16:14:01 |
|
Так то оно так, господа, вот только метод Class Browser -> Open (ваш SCX-файл) -> View Class Code
выдает ошибки в следующем примерно коде:
ADD OBJECT sklad.grid2.column1.header1 AS header WITH ;
FontBold = .F., ;
FontName = "Arial", ;
FontSize = 10, ;
Alignment = 2, ;
Caption = "Арт", ;
ForeColor = RGB(0,0,0), ;
BackColor = RGB(192,192,192), ;
Name = "Header1"
Ведь сначала он добавляет сам Grid, в котором уже есть header по умолчанию, а потом пытается еще
добавить header...
|
|
Александр
28.09.02 07:20:26 |
|
И еще, в вариантах, о которых говорят Александр Семеновский и Дмитрий Петров получается строка
типа:
ADD OBJECT sklad.grid2.column1.header1 AS header (и т.д.), строку эту Fox просто не воспринимает.
Для него корректно только строка типа:
ADD OBJECT header1 AS header (без всяких точек в имени объекта).
Отсюда, ИМХО, и полезность моего решения.
|
|
Sewer
17.09.06 17:30:45 |
|
Александр, мега-замечтательно! :)
До этого просидел чертову уйму времени, любуясь "шедеврами" кодотворчества CLASS VIEWERа...
Есть одно НО. В вашей проге предполагается, что имя класса (объекта) формы и имя ее файла
одинаковы... но если это не так, видим следующее:
PUBLIC ASCIIVIEWER
ASCIIVIEWER=NEWOBJECT("ASCIIVIEWERx")
ASCIIVIEWER.Show
RETURN
DEFINE CLASS Form1x AS form
|
|
Sewer
18.09.06 13:37:37 |
|
Александр, мега-замечтательно! :)
До этого просидел чертову уйму времени, любуясь "шедеврами" кодотворчества CLASS VIEWERа...
Есть одно НО. В вашей проге предполагается, что имя класса (объекта) формы и имя ее файла
одинаковы... но если это не так, видим следующее:
PUBLIC ASCIIVIEWER
ASCIIVIEWER=NEWOBJECT("ASCIIVIEWERx")
ASCIIVIEWER.Show
RETURN
DEFINE CLASS Form1x AS form
|
|
Sewer
19.09.06 10:40:26 |
|
Александр, мега-замечтательно! :)
До этого просидел чертову уйму времени, любуясь "шедеврами" кодотворчества CLASS VIEWERа...
Есть одно НО. В вашей проге предполагается, что имя класса (объекта) формы и имя ее файла
одинаковы... но если это не так, видим следующее:
PUBLIC ASCIIVIEWER
ASCIIVIEWER=NEWOBJECT("ASCIIVIEWERx")
ASCIIVIEWER.Show
RETURN
DEFINE CLASS Form1x AS form
|
|
Каратаев
03.10.06 08:24:27 |
|
Извините не сразу ответил - был в отпуске.
Не совсем понял проблему, но у меня получается вот так:
PUBLIC FRMGRDEDIT
SET CLASSLIB TO ..\..\..\class\my\forms.vcx ADDITIVE
FRMGRDEDIT=NEWOBJECT("FRMGRDEDITx")
FRMGRDEDIT.Show
RELEASE FRMGRDEDIT
RETURN
DEFINE CLASS Frmgrdedit1x AS form
|
|