:: Visual Foxpro, Foxpro for DOS
Ошибка исполнения EXE-файла
has
Автор

Сообщений: 175
Откуда: Томск
Дата регистрации: 24.07.2004
Не могу заставить работать EXE-файл (VFP9) на другой машине (где фокса нет).
И дело (видимо) не в отсутствии библиотек!
Я перетащил вместе с екзешником и все стандартные библиотечные файлы: msvcp71.dll, msvcr71.dll, richtx32.ocx, tlbinf32.dll, vbame.dll. (они лежат на дистрибутивном диске в каталоге \win\system\)
И програмка-то самая примитивная (никаких тебе проблем с READ EVENT):
m.fh = FCREATE('b2.txt')
IF m.fh>0
=FPUTS(m.fh, TIME())
=FCLOSE(m.fh)
ENDIF
а он, редиска, не работает! На моей машине - все ОК, а на чужой - ноль результата! Причем, никаких сообщений не выдает, только звуковой сигнал о сбое.
Подскажите, люди добрые!
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
has
Автор

Сообщений: 175
Откуда: Томск
Дата регистрации: 24.07.2004
програмка почему-то не показывается... а она такая:
Цитата:
m.fh = FCREATE('b2.txt')
IF m.fh>0
=FPUTS(m.fh, TIME())
=FCLOSE(m.fh)
ENDIF
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
samson_i
так может она все таки отработала
если в config.fpw screen=off
то так и должно быть
может m.fh = FCREATE('b2.txt')
IF m.fh>0 все таки нет
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
has
Автор

Сообщений: 175
Откуда: Томск
Дата регистрации: 24.07.2004
samson_i писал(а):
Цитата:
так может она все таки отработала
если в config.fpw screen=off
то так и должно быть
может m.fh = FCREATE('b2.txt')
IF m.fh>0 все таки нет
Нет, не отработала! Файла вообще нет! Хотя проблем с открытием быть не должно (каталог на локальном диске, с доступом прболем никаких...) А с моей машины работает нормально, даже на той машине (каталог распределен мне ...)



------------------
Добр, но справедлив.
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
Mavy

Сообщений: 246
Дата регистрации: 04.08.2004
Добавь после ENDIF что-нибудь типа
MESSAGEBOX([Программа отработала])
тогда будешь знать наверняка...
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi has!

1) VFP9 рантайму ещё необходим как минимум gdiplus.dll
2) Лучше всегда делать инсталляцию штатными средствами, а не "копированием
файлов"
3) Для начала проверь "нормальность" установки рантайма на примитивной
однострочной программе MESSAGEBOX("Hello World!")
4) Программа без хоть какого-то примитивного обработчика ошибок - есть
неправильная программа. Вот в частности ты даже не знаешь на каком этапе
произошла ошибка




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
has
Автор

Сообщений: 175
Откуда: Томск
Дата регистрации: 24.07.2004
Igor Korolyov писал(а):
Цитата:
1) VFP9 рантайму ещё необходим как минимум gdiplus.dll
Добавил - не помогло...
Цитата:
2) Лучше всегда делать инсталляцию штатными средствами, а не "копированием файлов"
Не понял?!...
Цитата:
3) Для начала проверь "нормальность" установки рантайма на примитивной однострочной программе MESSAGEBOX("Hello World!")
4) Программа без хоть какого-то примитивного обработчика ошибок - есть неправильная программа. Вот в частности ты даже не знаешь на каком этапе произошла ошибка
Ребята, спасибо за заботу, но за 9 лет Fox`а (DOS) и предыдущих лет Basic`a, Pascal`a и C я азы отлатки немного освоил.;)
В том то и проблема, что не выполняется НИ ОДНА команда программы! Сразу звуковой сигнал ошибки, и все!...
А MESSAGEBOX() перестал использовать, так как это интерфейс, а я боялся попасть в проблему с окнами, SCREEN`ом и т.д., их видимости, доступности и т.п. (Visual только начал осваивать, а тут много чего не так как под DOS)
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
Каратаев

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Возможно рантаймовские библиотеки не те. т.е. файлы-то те, а вот некорректны они... или это от бета 9-ки - срок истек...




------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
has
Автор

Сообщений: 175
Откуда: Томск
Дата регистрации: 24.07.2004
Каратаев писал(а):
Цитата:
Возможно рантаймовские библиотеки не те. т.е. файлы-то те, а вот некорректны они... или это от бета 9-ки - срок истек...
Библиотеки были с диска инсталляционного (не бета!). Для верности взял со своей машины из WINDOWS\SYSTEM32. Результат тот же - нулевой ...
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi has!

Цитата:
Не понял?!...
FAQ.




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
Alex Roublev

Сообщений: 3695
Откуда: Ярославль
Дата регистрации: 28.09.2002
2 has:

Цитата:
Не понял?!...

Wise, InstallShield (существует в различных вариациях, но наиб. распространена версия с минимум необходимого - Express) или InnoSetup... Список продолжить?

Надеюсь, что run-time libs зарегистрированы в реестре при помощи RegSvr32. Прошу прощения за примитивизм изложения, но вещи очевидные. Также рядом с run-time обязана лежать библиотека ресурсов (ее регистрировать не надо) - английская версия (VFP9RENU.DLL) или, на выбор, русифицированная (VFP9RRUS.DLL). Неплохо еще добавить и зарегистрироввать VFP9T.DLL Также добавить без регистрации msvcrt.dll и gdiplus.dll.

Если все правильно и все равно не запускается программа, то...
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
has
Автор

Сообщений: 175
Откуда: Томск
Дата регистрации: 24.07.2004
Alex Roublev, спасибо за содержательный ответ! (Не то, что у некоторых: "FAQ" и все... ;))
я же чувствовал, что тут что-то простое, а про регистрацию забыл! (Я ж говорил, что на Visual совсем недавно! А почти 2 десятка лет программирования под DOS сказываются )
Еще бы уточнить: надо все регистрировать (msvcp71.dll, msvcr71.dll, richtx32.ocx, tlbinf32.dll, VBAME.DLL) ? Или можно частично?
Дело в том, что RegSvr32 отказался регистрировать msvcp71.dll, msvcr71.dll и VBAME.DLL. Говорит
Цитата:
Уже загружено, но не удалось найти точку входа для DllRegisterServer
И программа по прежнему не исполняется А InstallShield Express я поставил, но не разобрался еще. С английским у меня проблемы...
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
AlexK

Сообщений: 2114
Откуда: Королев,Москва
Дата регистрации: 11.12.2000
Возьмите в файловом архиве любой Run-Time
www.foxclub.ru

1. Установите на эту машинку
2. Выполните под ним ваш prg
3. Cообщите результаты


P.S. All! Может кто выложит туда Run-Time для 9-ки



Отредактировано (30.03.05 07:49)


------------------
Береги природу, мать Вашу. Моя страничка www.genrep.net
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
has
Автор

Сообщений: 175
Откуда: Томск
Дата регистрации: 24.07.2004
AlexK писал(а):
Цитата:
Возьмите в файловом архиве любой Run-Time www.foxclub.ru
P.S. All! Может кто выложит туда Run-Time для 9-ки
В том-то и дело, что для 9-ки там нету! А у меня - именно VFP9!
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
AlexK

Сообщений: 2114
Откуда: Королев,Москва
Дата регистрации: 11.12.2000
Цитата:
В том-то и дело, что для 9-ки там нету!

Цитата:
m.fh = FCREATE('b2.txt')
IF m.fh>0
=FPUTS(m.fh, TIME())
=FCLOSE(m.fh)
ENDIF

Eсли ваш код выполнится под тем что есть, значит все работает и это Вы не можете нормально установить Run-Time (что навярняка и происходит)

Поэтому сделайте инсталяцию с помощью InstallShield. Как ее делать читайте в Неlp и ищите на сайте.
Либо дождитесь что ее кто-нибудь выложит в Файловый архив




------------------
Береги природу, мать Вашу. Моя страничка www.genrep.net
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi has!

А для чего по твоему существует раздел FAQ? Не ну было-бы там 500 тем каждая по 10 страниц - тогда ещё можно понять затруднение, а так... forum.foxclub.ru И всё что тебе нужно было знать уже под рукой.




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
Alex Roublev

Сообщений: 3695
Откуда: Ярославль
Дата регистрации: 28.09.2002
2 has:

Цитата:
Уже загружено, но не удалось найти точку входа для DllRegisterServer

Это нормальное сообщение, которое означает, что регистрация этой библиотеки не предусмотрено системой. Просто библиотека должна находится в одной из системных папок ОС. Обыкновенно такой папкой является System (или System32 для WinNT).

А если разобраться получше что-к-чему, то (вкратце):

1. Запускаю у себя InstallShield Developer;
2. Указываю в Application Data / Files And Folders те файлы программы, которые будут установлены на клиентской машине;
3. В Additional Tools / Dependency Scanners запускаю Perform Dynamic Scanning, выбираю в окне программу, запускаю ее, открываю разные окна той программы, нажимаю всевозможные кнопки, трогаю комбобоксы. Если наряду с родными VFP-контролами используются интерфейсные библиотеки ActiveX, то смысл Dynamic Scanning в том, чтобы дать понять InstallShield Developer что необходимо включить в пакет инсталляции. При подключении к проекту инсталляции той или иной библиотеки все записи системного реестра, которые к оной имеют отношение, автоматически добавляются в проект. Static Scanning дает тот же эффект проверки на интеграцию с различными библиотеками для последующего включения оных в проект инсталляции, но уже без запуска самой программы. Dynamic Scanning по мне так предпочтительнее, т.к. имеет более широкий спектр действий.
4. Посмотреть, для собственного интереса, что изсостава Merged Modules в разделе Application Data / Redistributables стало отмеченным флажками. Посмотреть, чтобы динамические библиотеки и ActiveX-компоненты, которые не входят в состав Merged Modules (подключаемые модули стандартных наборов динамических библиотек, предназначенных для свободного распространения), попали в системную папку Windows. Если что-то оказалось указано в папке рядом с собственной программой и ее таблицами, то указать им в свойствах как путь инсталляции системную папку Windows.
5. Посмотреть свойства подключаемых библиотек на случай разинсталляции собственной программы - удалены будут они или оставлены в системе для использования другими программами. Для этого служит опция "Permanent" ("постоянный"). Если на ней поставить для библиотеки флажок, то при разинсталляции эта библиотека, если она не используется другими программами, установленными в ОС, будет удалена вместе с собственной программой.
6. Это пока все!
7. Желаю успехов
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
has
Автор

Сообщений: 175
Откуда: Томск
Дата регистрации: 24.07.2004
Igor Korolyov писал(а):
Цитата:
А для чего по твоему существует раздел FAQ? Не ну было-бы там 500 тем каждая по 10 страниц - тогда ещё можно понять затруднение, а так... forum.foxclub.ru И всё что тебе нужно было знать уже под рукой.
Igor, на FAQ я сходил в первую очередь, до того как задал вопрос! В том-то и дело, что там нет ответа по МОЕЙ проблеме! Если еще раз прочтете мой вопрос и посмотрете по указанной Вами ссылке - убедитесь, что я прав.



------------------
Добр, но справедлив.
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
has
Автор

Сообщений: 175
Откуда: Томск
Дата регистрации: 24.07.2004
Alex Roublev писал(а):
Цитата:
Это нормальное сообщение, которое означает, что регистрация этой библиотеки не предусмотрено системой. Просто библиотека должна находится в одной из системных папок ОС. Обыкновенно такой папкой является System (или System32 для WinNT).
Еще раз, ОГРОМНОЕ СПАСИБО, Alex ! Т.е. те библиотеки, которые не регистрируются, надо перенести в System32? Я то все сложил в один каталог. (читал, что этого должно быть достаточно ) Пойду пробовать...
Спасибо за схему работы с InstallShield ! Теперь есть с чего начинать, а дальше прорвемся!
Ratings: 0 negative/0 positive
Re: Ошибка исполнения EXE-файла
has
Автор

Сообщений: 175
Откуда: Томск
Дата регистрации: 24.07.2004
Переложил в System32 библиотеки msvcp71.dll, msvcr71.dll и VBAName.dll.
Остальные зарегистрировал в текущем каталоге.
НЕ ПОМОГЛО !
Уже не знаю что делать
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 24 (Гостей: 24)

© 2000-2024 Fox Club 
Яндекс.Метрика