Як зробити exe файл в visual foxpro

  • Як скомпілювати EXE
    • технологія компіляції
    • супутні файли
  • Що потрібно включити в EXE

1.Як скомпілювати EXE

1.1 Технологія компіляції

епіграф:
"Ай да Пушкин, ай да."
А. С. Пушкін

Технологія компіляції EXE в Visual FoxPro досить проста. Ми не будемо відволікатися на такі екстремальні методи як введення в командному вікні команд типу BUILD PROJECT, BUILD APP, BUILD EXE, а обмежимося зручностями, наданими графічним інтерфейсом VFP.

Отже, для створення EXE нам знадобиться натиснути в менеджері проекту кнопку "BUILD.". Вибравши в діалоговому вікні опцію Win32 executable / COM server (EXE) тиснемо OK. УСЕ. ;-)

"Як все?" - запитаєте Ви - "А вказати під яким ім'ям зберегти файл?"

Згоден. Треба вказати обов'язково, інакше все нанівець.

До речі, думаю, що не зайвим буде нагадати про те, що для того щоб процес компіляції пройшов успішно необхідно менеджер проекту заповнити файлами Вашої програми, один з яких обов'язково повинен бути як main (в менеджері проектів ім'я цього файлу виділено жирним шрифтом), тобто . файл який буде виконаний першим. За замовчуванням як main-програма встановлюється перший включений в проект програмний файл (* .prg) або файл форми (* .scx).

Вобщем все досить просто! Просто.

Тепер про сумне.

1.2 Супутні файли

епіграф:
". А включаєш - не працює!"
М. Жванецький

Всі перепетії етапу компіляції програми вже позаду, і Ви, гордий від усвідомлення власної переваги над простими смертними, семимильними кроками несете до замовника, встановлюєте свій додаток, попутно розписуючи йому (замовнику) як тепер у нього все буде круто, і підраховуючи в розумі який гвинт потрібно купити, щоб залишилося на пиво, раптом натикаєтеся на те, що Ваша супер-пупер прога НЕ фуричіт. Сумно. Прикро. А головне не буде у Вас нового вічестера або Чого Ви Там Собі запланували купити з гонорару.

Вся справа в тому, що скомпільований нами .exe не їсти самодостатнім виконуваним файлом. Для нормальної роботи цього псевдо-виконуваного файлу необхідні бібліотеки підтримки (.dll). Я не буду сильно вдаватися в міркування про це, а просто наведу назви файлів, необхідних для нормальної роботи програми.

В принципі до 6-ї версії включно для перенесення програми на клієнтську машину можна використовувати штатний Setup Wizard, який самостійно все прописує, а в наступних --InstallShield (або інший інсталятор).

Зазначений вище набір бібліотек необхідно розмістити в каталозі програми або в системному каталозі Windows. Для різних версій Windows ці каталоги різні:

2. Що потрібно включити в EXE

епіграф:
"To include or not to include?"
п'яний електрик

За замовчуванням в готовий .exe включаються всі файли, необхідні для роботи програми - програми, форми, меню, бібліотеки, класи і т.д. крім файлів баз даних і таблиць (такі файли можна дізнатися по перекреслити кружечку біля імені файлу в менеджері проекту). Всі включені в .exe файли після компіляції стануть немодіфіціруемих (доступними тільки для читання). Зрозуміло, що файли таблиць (* .dbf) включати не варто оскільки вони піддаються постійним операціями зміни-доповнення даних, але іноді бувають випадки коли необхідно приховати будь-які статіческіеданние від користувача, але забезпечити доступ до них самої програми. Кращого місця ніж "нутрощі" exe-шника годі й чекати.

Так само досить часта ситуація, коли потрібно "находу", або тимчасово, змінити файл звіту, або коли маємо цілий набір звітів, унікальних для кожного користувача. Ну справді уявіть: десять операторів і кожному по десять звітів і все це в * .exe. єдиним виходом у цій ситуації буде виключити ці звіти з кінцевого файлу і поставляти їх разом з додатком.

У будь-якому випадку рішення про те, які файли виключити, а які залишити за Вами.