powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ошибка при переносе программы на другой комп.
9 сообщений из 9, страница 1 из 1
Ошибка при переносе программы на другой комп.
    #32168008
Scalder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал не большую программу, а она не переноситься, а хочеться чтоб экзешник переносился:
Разработка на компе:
Windows XP Pro Eng SP1, Visual Fox Pro 6.0 SP5 - всё работает, без ошибок.
Тестирую:
Windows 98 SE Rus, файлы VFP6RENU.DLL и VFP6R.DLL скопировал в папку windows\system\.
При запуске программа вываливаеться с текстом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Программа SQL1 вызвала сбой при обращении к странице памяти 
в модуле VFP6R.DLL по адресу  0167 :0c0b4ce6.
Регистры:
EAX= 00000000  CS= 0167  EIP=0c0b4ce6 EFLGS= 00000246 
EBX= 00000000  SS=016f ESP=0063ebcc EBP=0063f5f8
ECX= 00000000  DS=016f ESI= 00000000  FS=22b7
EDX=000000b6 ES=016f EDI=000000b6 GS= 0000 
Байты по адресу CS:EIP:
8b  00   89  1d d8  97   30  0c a3  74  7d  30  0c  88  1d 6c 
Содержимое стека:
0000000c  00000000  bff76ec4  00000000   00000000   00000000   00000000   00000000   00000000   00000000   00000000   00000000   00000000   00000000   00000000   00000000 

Что делать?
...
Рейтинг: 0 / 0
Ошибка при переносе программы на другой комп.
    #32168010
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Сравнить версии файлов на двух машинах. Список .
2. Попробовать определить на какой команде спотыкается.
...
Рейтинг: 0 / 0
Ошибка при переносе программы на другой комп.
    #32168015
Scalder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При переносе пробовались 2 варианта:
1) Ручками копируем файлы в windows\system
2) Создаём иинсталятор.

Оба варианта не прокатывали :(
Файлы разумееться брались с машини на которой ведёться разработка.
...
Рейтинг: 0 / 0
Ошибка при переносе программы на другой комп.
    #32168017
Scalder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поглядел версии файлов по вашему совету и оказалось что файлы у меня более позних версий 6.0.8961.0, но мне кажеться должна быть совместимость....

Может проблема в том , для NT и 98 разные dll надо?
...
Рейтинг: 0 / 0
Ошибка при переносе программы на другой комп.
    #32168019
Scalder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл упомянуть ещё один немаловыжный факт:
Паралельно с переносом на Windows 98 был и перенос на Windows 2000 Server Eng где все виды переноса без проблем работали.
Может дело в слишком новых файлах? скиньте если у кого есть такие файлы как по ссылке на scalder_xp@mail.ru или тут.
...
Рейтинг: 0 / 0
Ошибка при переносе программы на другой комп.
    #32168028
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пояснения:
по п.1
Все немного сложнее, в данном случае важные не только фоксовские файлы, но и файлы ОС. Как с версиями ole*.dll, например?
по п.2
Когда-то в далекой юности, когда я еще сидел под 9х, у меня периодически возникали подобные проблемы. Один раз помню, на одной и той же машине, скопмилированный ехешник не хотел запускаться, хотя из IDE все работало нормально. Причина оказалась в русских буквах в пунках системного меню, и как позже выяснилось виновником был нестандартный переключатель клавиатуры.
Попробуй создать "отладочную" версию программы, ее смысл - отобразить строку комманды перед исполнением.
Код: plaintext
1.
wait window  "command" 
command

При условии, что wait window отрабатывает нормально, определить какая конструкция вызывает ошибку несложно. Чтобы упростить создание "отладочной" версии, используй что-то вроде этого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
lcFileName=GETFILE('prg')
IF EMPTY(lcFileName)
	CANCEL 
ENDIF 
lhFile=FOPEN(lcFileName)
IF lhFile<= 0 
	WAIT WINDOW 'Не удалось открыть файл '+lcFileName
	CANCEL
ENDIF 
lcFileName2=JUSTFNAME(lcFileName)+'_debug.prg'
lhFile2=FCREATE(lcFileName2)
IF lhFile2<= 0 
	WAIT WINDOW 'Не удалось создать файл '+lcFileName2
	CANCEL
ENDIF 
* Использование массива на случай переноса строк в комманде
DIMENSION laBuffer[ 1 ]
laBuffer( 1 )=''
* Флаг для переноса строк
llFlag=.F.
* Счетчик строк комманды
lnCounter= 1 
DO WHILE !FEOF(lhFile)
	IF llFlag
		lnCounter=ALEN(laBuffer)+ 1 
		DIMENSION laBuffer[lnCounter]
	ENDIF
	laBuffer[lnCounter]=FGETS(lhFile)
	lcString=ALLTRIM(laBuffer[lnCounter])
	llFlag=RIGHT(lcString, 1 )=';'
	* Проверка, нужно ли отображать строку перед ее исполнением.
	* Ограничимся первой строкой при переносе строк
	IF lnCounter= 1  AND !(EMPTY(lcString) OR;
	LEFT(lcString, 1 )='#' OR ;
	LEFT(lcString, 1 )='*' OR ;
	LEFT(lcString, 2 )='&'+'&' OR ;
	UPPER(LEFT(lcString, 4 ))='NOTE' OR ;
	UPPER(LEFT(lcString, 3 ))='END' OR ;	
	UPPER(LEFT(lcString, 3 ))='ELSE')
		* Вставка отладочной информации.
		* Чтобы не создавать дополнительных ошибок,
		* избавляемся от кавычек
		=FPUTS(lhFile2,'wait window "'+CHRTRAN(lcString,['"],'``')+'"')		
	ENDIF 
	IF !llFlag
		* Вставка комманды и сброс буфера
		FOR i= 1  TO lnCounter
			=FPUTS(lhFile2,laBuffer[i])
		ENDFOR 
		DIMENSION laBuffer[lnCounter]
		lnCounter= 1 
	ENDIF 
ENDDO 
=FCLOSE(lhFile)
=FCLOSE(lhFile2)
MODIFY COMMAND (lcFileName2)

Если комманду с ошибкой заменить никак нельзя, начинай поиски софтины, которая конфликтует ствоей прогой.

Удачи!
...
Рейтинг: 0 / 0
Ошибка при переносе программы на другой комп.
    #32168039
Scalder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо за Вашу доброжилательность и участие в моей проблеме.
1) Файлы ole*.dll тоже старше чем указаны в списке.
2) Не знал что у фокса существую такие проблемы... тогда я должен сказать что Windows 2000 Server и Windows 98 запускаються на виртуальной машине (VM Ware Workstatin 4)
3) Вываливаеться даже такая программа:
Код: plaintext
1.
wait windows 'prog'

1) Может он конфликтует с VM Ware?
2) Может нужно dll постарее?
Больше не вижу причин... в понедельник попробую запустить программу на реальной Windows 98 SE Rus машине. Результат обязательно скину сюда.
...
Рейтинг: 0 / 0
Ошибка при переносе программы на другой комп.
    #32168043
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> 1) Может он конфликтует с VM Ware?

Такой вариант не исключен.

> 2) Может нужно dll постарее?

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


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