Как вызвать VB6.exe из программы foxpro 2.5 - PullRequest
0 голосов
/ 05 сентября 2011

У меня есть программа на foxpro 2.5, и у меня есть файл .exe, который разработан в VB6.0 моя программа vfp - это программа, основанная на DOS, и мы работаем на Windows XP, мы запускаем DOS-приглашение в XP и запускаем нашу программу VFP. Моя проблема в том, что когда я вызываю эту программу с параметрами, она завершается, и результат не возвращается. длина моего параметра превышает 110 символов

так как я могу вызвать файл .exe в foxpro с параметром где параметр является строкой и его длина превышает 110 символов

кажется, что это проблема с памятью, кто-нибудь скажет, как я могу справиться с этим Thnx

1 Ответ

2 голосов
/ 06 сентября 2011

Вы не говорите, как вызываете программу VB6 из FoxPro, но команда RUN должна работать. Следующее из Visual FoxPro 7, но должно применяться к FoxPro 2.5.

Выполняет внешние рабочие команды или программы.

RUN [/ N] MS-DOSCommand | ProgramName -или-

! [/ N] MS-DOSCommand | ProgramName Параметры MS-DOSCommand Указывает команда MS-DOS для выполнения. Подробнее смотрите в документации MS-DOS информация о доступных командах MS-DOS. ProgramName Определяет программа или приложение для запуска. Вы можете указать на основе Windows или программа или приложение на базе MS-DOS. / N Указывает NOWAIT. Включают буква N для запуска другого приложения на базе Windows. замечания Вы можете выполнить RUN из окна Command или из программа.

Примечание. Для использования RUN необходим файл операционной системы Command.com. в текущем каталоге, или он должен быть расположен там, где MS-DOS Параметр COMSPEC может найти его. Для получения дополнительной информации о COMSPEC см. Ваша документация MS-DOS. Внимание! Не используйте RUN для запуска диска программы реорганизации, такие как CHKDSK из Visual FoxPro. Эти программы изменяют содержимое вашего диска таким образом, чтобы не позволяйте Visual FoxPro работать должным образом. RUN и Visual FoxPro
Когда RUN используется для запуска программ вне Visual FoxPro, он ищет для программ, немного отличающихся от FoxPro для MS-DOS.

Если программа, указанная вами в RUN, не имеет расширения, Visual FoxPro сначала просматривает путь MS-DOS для файла информации о программе (PIF) с указанным вами именем. PIF позволяет запускать не Windows программа под винду. Вы можете указать параметры для программы, запускается ли программа в окне или на полном экране, объем памяти, выделенный для программы и т. д.

Если PIF найден, программа, указанная в PIF, выполняется с параметры PIF. Если PIF не найден, путь MS-DOS выполнил поиск исполняемого файла с указанным вами именем.

Когда PIF не найден, Visual FoxPro использует FOXRUN.PIF, установленный PIF в каталоге Visual FoxPro. FOXRUN.PIF настроен для запуска программа в окне. Вы можете изменить FOXRUN.PIF для запуска программ в другая конфигурация.

Сертификат Windows 2000 logo Если вы планируете представить заявка на сертификацию, вы не должны использовать команду RUN, потому что это может потенциально нарушить следующую системную групповую политику требование.

"ЗАПУСК разрешено только приложению Windows - ваше приложение не должно Запустите любое приложение, которого нет в этом списке. Обратите внимание, это не применять при запуске приложений через COM. Если вы используете ShellExecuteEx, Windows 2000 выполнит эту проверку автоматически ". Вместо этого вы должны использовать DECLARE DLL с ShellExecuteEx.API.

FOXRUN.PIF Foxrun.pif позволяет выполнять MS-DOS® и Windows® программы и команды изнутри Visual FoxPro. Foxrun.pif должен быть в тот же каталог, что и Vfp7.exe в Visual FoxPro.

/ N означает NOWAIT. Включите букву N для запуска другого Windows приложение. Например, следующий оператор открывает Windows Аксессуар Карта персонажей:

! / N CHARMAP.EXE В следующем примере открывается палитра цветов Windows. из панели управления Windows:

! / N CONTROL COLOR Приложение для Windows, запущенное с RUN / N или ! / N ведет себя так же, как приложение, когда вы открываете его через проводник Windows или выбрав «Выполнить» в меню «Пуск». Вы можете переключаться между приложением и Visual FoxPro или FoxPro для Windows с использованием стандартных операций Windows.

Вы можете включить необязательное числовое значение сразу после / N для укажите, как открывается приложение для Windows. Не включатьлюбые пробелы между / N и числовым значением. В следующей таблице перечислены числовое значение, которое вы можете включить, и описывает состояние Приложение для Windows при открытии.

Значение Атрибуты приложения 1 Активный и нормальный размер 2 Активный и свернуто 3 Активно и развернуто 4 Неактивно и нормального размера 7 Неактивно и свернуто

Запуск программ MS-DOS в Visual FoxPro По умолчанию Foxrun.pif запускается указанная внешняя программа MS-DOS в окне. Хотя MS-DOS программа или команда запущена, заголовок окна - FoxPro Run Command. В Visual FoxPro окно команды запуска FoxPro закрыто после завершения внешней программы или команды.

Вы можете использовать редактор Windows PIF для настройки Foxrun.pif. Вы можете отредактируйте PIF, чтобы указать, является ли окно команды запуска неактивной FoxPro оставлен открытым или закрыт (по умолчанию в Visual FoxPro) с закрытием Флажок Окно при выходе. Вы также можете открыть внешние программы в полный экран, выбрав Full Screen; выделить память для программы; и т. д.

Особенности памяти По умолчанию Foxrun.pif выделяет минимум 256 КБ памяти для запуска внешней команды или программы. Если вы делаете Visual FoxPro не имеет 256 КБ свободной обычной памяти сообщение об ошибке. Чтобы исправить это, попробуйте выполнить одно или оба из следующих действий:

Закройте приложения и файлы, чтобы освободить дополнительную память. редактировать Foxrun.pif для уменьшения объема памяти, необходимого в КБ. текстовое окно. Если для внешней команды требуется больше 256 КБ, MS-DOS отображает сообщение об ошибке в окне FoxPro Run Command. Исправлять отредактируйте ваш Foxrun.pif, чтобы увеличить объем необходимой памяти в КБ Обязательное текстовое поле.

...