powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Непонятка
9 сообщений из 9, страница 1 из 1
Непонятка
    #32486241
ноль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал exe, собрал дистрибутив , включил все что надо. Устанавливаю на машинах с установленным фоксом , все ок. Устанавливаю на "голой" машине,
выдает ошибку , причем не то что ей памяти там ни хватает или библы какой,
с этим все в порядке, а ругается на синтаксическую ошибку, мол не знает она свойства. А свойсво это имеется, оно содержит ссылку на другой объект. И как так? на одних машинах синтакической ошибки нет, а на других есть , что за глюк, кто знает ? VFP 8.0 SP1, дистрибутивы создаю InstallShield, хотя
и без него, ручками собирали прописывал, все одно. Фантастика просто какая-то.
...
Рейтинг: 0 / 0
Непонятка
    #32486270
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А строка кода, где происходит ошибка, естессно, есть тайна великая?..
...
Рейтинг: 0 / 0
Непонятка
    #32487613
ноль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То NNN:
А по русски понять никак ? :)
Вот тебе строка кода где происходит ошибка:

Код: plaintext
1.
2.
3.
4.
5.
6.
with this
.AddProperty( "oEraser" ,NewObject( "CEraser" , "unload.vcx" ))
if .IsObject(.oEraser)
.oErraser.oFRM = (this)
endif
.............
EndWith


Код: plaintext
1.
2.
3.
4.
5.
Соответсвенно: 
DEFINE CLASS CEraser AS Custom
oFRM =.null.
............
............
ENDDEFINE
IsObject - проверяет объект или нет, думаю что к этому методу комментарии илишни.
...
Рейтинг: 0 / 0
Непонятка
    #32487616
ноль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.oErraser.oFRM = (this) <- вот тут
...
Рейтинг: 0 / 0
Непонятка
    #32487637
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Называется, найди отличия между oErraser и oEraser.
...
Рейтинг: 0 / 0
Непонятка
    #32487639
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надеюсь, это опечатка, что в команде присвоения стоит 2 буквы "r"?

А в таком синтаксисе работает?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
with this
	.AddProperty( "oEraser" ,NewObject( "CEraser" , "unload.vcx" ))
	if .IsObject(.oEraser)
		WITH .oEraser
			.oFRM = (this)
		ENDWITH
	endif
.............
EndWith


Ну, или сделай то же самое через переменную:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
LOCAL loEraser
with this
	.AddProperty( "oEraser" ,NewObject( "CEraser" , "unload.vcx" ))
	if .IsObject(.oEraser)
		loEraser = .oEraser
		m.loEraser.oFRM = (this)
	endif
.............
EndWith


Смысл в том, чтобы в момент присвоения не было бы "иерархии" свойств. Т.е. только одна точка в выражении стоящем слева от знака равенства.
...
Рейтинг: 0 / 0
Непонятка
    #32487688
ноль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То ВладимирМ: да опечатка.
По вашему получилось. Только я как-то не пойму, это
с чего фокс себе такие правила заимел ?
...
Рейтинг: 0 / 0
Непонятка
    #32487693
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глюк это.

Характерен при работе с модальными формами. Особенно для ActiveX использующихся в модальных формах если есть вызов модальной формы из другой модальной формы.

Причем ошибка плавающая. Может проскочить и в твоем исходном синтаксисе. А может и не проскочить. :)
...
Рейтинг: 0 / 0
Непонятка
    #32487712
ноль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, так и было :)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Непонятка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]