|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Короче, можно ли ран-тайм-библиотеки поддержки как-нибудь жёстко включить в состав готового экзешника, чтоб он больше не мучал своими постоянными "Cannot locate the Microsoft Visual FoxPro support library" при каждом переносе на новую машину? А то, честно говоря, так достало уже! Даже ТурбоПаскаль и тот умел создавать монолитные экзешники. Неужто Фоксу это не по зубам? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2012, 20:25 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Ghost76Короче, можно ли ран-тайм-библиотеки поддержки как-нибудь жёстко включить в состав готового экзешника, чтоб он больше не мучал своими постоянными "Cannot locate the Microsoft Visual FoxPro support library" при каждом переносе на новую машину? А то, честно говоря, так достало уже! Даже ТурбоПаскаль и тот умел создавать монолитные экзешники. Неужто Фоксу это не по зубам? :) Спокойнее, коллега, без пены на ушах. Вы, как я полагаю, делаете для юзера дистрибутив ? Так и делайте его, как и раньше, НЕ ВКЛЮЧАЯ в ЕХЕ биб-лы рантайма. Биб-лы пущай себе копируются в папку установленного приложения. Не надо тут про жуткие монолитные (что это ?) экзешники. Любое приложение Visual Foxpro требует для себя некой "комфортной" среды в виде биб-тек рантайма. Вот их при установке приложения у нового юзера и кидайте в папку, где устанавливается приложение. Точнее, не вы лично их кидайте, а при создании дистрибута перечислите их, как "внешние" файлы. Все дела. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2012, 20:54 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
To reware: Да какая уж там пена... Под "монолитные" - имелось в виду самодостаточные. Почему и привёл, как один из примеров, древний ТурбоПаскаль - сгенерённый им экзешник в простейшем случае на требовал для себя никаких таких привилегий и окружения, а просто исполнялся и всё :) Все рекомендуемые вами процедуры - давно уже мной вынужденно применяются, и набили мне оскомину. Но если в случае полноценных приложений они ещё хоть как-то оправданны, то скажите, насколько они здраво выглядят в случае (глупейший пример, но ничего более дельного пока в голову не приходит) следующего прг-шника (допустим, единственного файла в проекте) - program1.prg: && Проверка правильности определения папки, из которой был запущен данный файл: SET DEFAULT TO "c:\" && Иммитируем произвольную начальную установку SET DEFAULT Фокса (из его файла ресурсов, например, или - от исполнения предыдущего файла) papka1=ADDBS(SYS(5)+CURDIR()) && Определяем текущую папку простым способом papka2=ADDBS(JUSTPATH(SYS(16, 0))) && Определяем её же "продвинутым" способом =MESSAGEBOX("Вариант с SYS(5)+CURDIR() выдаёт: "+papka1+CHR(13)+CHR(10)+"Вариант с JUSTPATH(SYS(16,0)) выдал: "+papka2,64,"Сравни, Юрик, результаты и прозрей :)") Всего-то нужно сбацать временный экзешник из пары строчек кода - для демонстрационных целей, и кинуть e-mail'ом его не-Фоксисту, который ещё неизвестно, в какую папку скачает его из почты и попытается там запустить. И ради этого - каждый раз заморачиваться с несколькими дополнительными файлами, не имеющими прямого отношения к этому простейшему экзешнику? ИМХО - нерационально и геморройно. А ведь даже dbf-ники можно вшивать в экзешники, если нет необходимости их модифицировать! Неуж-то dll-ки низзя? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2012, 22:00 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Ghost76To reware: Да какая уж там пена... Под "монолитные" - имелось в виду самодостаточные. Почему и привёл, как один из примеров, древний ТурбоПаскаль - сгенерённый им экзешник в простейшем случае на требовал для себя никаких таких привилегий и окружения, а просто исполнялся и всё :) На это всё наплевать и забыть. Вспомнили тут Турбо-Паскаль, а ещё есть Турбо-Бэйсик, Турбо-ASM.... Забудьте про это, нет никаких "самодостаточных ЕХЕ" в Visual Foxpro. Visual Foxpro есть не более, как ИНТЕРПРЕТАТОР и для работы вашего ЕХЕ требуется в поле видимости задачи наличие run-time библиотек (DLL). Нет, разумеется, в пылу юношеского жара можно попробовать включить эти библиотеки в проект в результирующий ЕХЕ. Вас не смущает, что вместо нормальных 2-3 Мб после этого экзешник раздуется до 10-15 Мб ? А в коде там может быть и вовсе одна строчка QUIT. Как обычно делают люди - 1) создаётся некий проект с некими PRG и прочим барахлом 2) готовый проект компилируется (создаётся ЕХЕ) 3) запускается некий создатель дистрибута (я лично давно юзаю CreateInstall) 4) в этом дистрибуторе указываем, что помимо самого ЕХЕ должны быть файлы такие-то и сякие-то, не входящие в данный ЕХЕ (это я как раз про рантайм биб-ки) 5) запущается данный дистрибутор (для простоты далее буду называть CreateInstall) и создаёт вам некий SETUP.EXE со всеми потрохами (и с теми, что не вошли в ваш монолитный ЕХЕ) 6) тащим диск/флэшку к юзеру с этим SETUP.EXE и там благополучно запускаем, опосля чего имеем в папке (при установке, как правило, можно указать любой путь) готовую к употреблению программу VFP со всеми уже там лежащими нужными рантайм-библиотеками. Никаких ручных действий не требуется - как указали нашему "CreateInstall" при создании дистрибута, так оно и ляжет. Далее, запущаем ЕХЕ и наслаждаемся. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2012, 23:17 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
О, это уже теплее! :) Спасибо за нормальную реакцию и терпение :) Итак, если опустить изложение стандартного рецепта "приготовления" приложения, которое я и так применяю давно, то меня заинтересовало вот это место: "...в пылу юношеского жара можно попробовать включить эти библиотеки в проект в результирующий ЕХЕ. Вас не смущает, что вместо нормальных 2-3 Мб после этого экзешник раздуется до 10-15 Мб ?" В моём случае словосочетание "юношеский жар" уместнее будет заменить на "старческий маразм" :) Но... постичь что-то новое - очень уж хоцца! :) Короче - а вот если не смущает располнение экзешника? Ну просто о-о-очень интересно - получится или нет? Я пробовал включать вышеупомянутые библиотеки в проект - они включаются как "инклуде" только в раздел "Others", а в другие - только как "эксклуде", что вовсе не интересно. В общем, мои принудительные "включения" не дали желаемого результата - экзешник заметно "поправился", но всё равно требует "костылей" в виде тех пресловутых библиотек ран-тайма. Интересует чисто теоретический вопрос - можно ли так их туда включить, чтоб экзешник был "доволен"? Даже ценой собственного "располнения". Для приведённых ранее мной случаев простой демонстрации работы пары команд - просто неразумно создавать дистрибутив. Мне иногда приходится по 10 раз на дню посылать такие простенькие "демонстрашки" из нескольких команд - ну стОит ли из-за этого проделывать всё то, что вы описали после слов "Как обычно делают люди..."? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2012, 23:39 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Ghost76которое я и так применяю давно и при этом Вы не догадывались о существовании множества версий, аналогичных упомянутому выше CreateInstal? Ваше "давно" - это неделя что ли? p.s. извините, не удержался и покормил Mr. Tr. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2012, 23:44 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
rewareЗабудьте про это, нет никаких "самодостаточных ЕХЕ" в Visual Foxpro. Visual Foxpro есть не более, как ИНТЕРПРЕТАТОР и для работы вашего ЕХЕ требуется в поле видимости задачи наличие run-time библиотек (DLL). rewareЗабудьте про это, нет никаких "самодостаточных ЕХЕ" в Visual Foxpro. Visual Foxpro есть не более, как ИНТЕРПРЕТАТОР и для работы вашего ЕХЕ требуется в поле видимости задачи наличие run-time библиотек (DLL). reware и Вы еще три раза ему это напишите. я по собственному опыту знаю - если фразу читать несколько раз - она запоминается, и даже начинаешь понимать о чем там говорится ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2012, 23:47 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
To justIT: Уважаю ваше мнение, но вопрос-то заключается вовсе не в "существовании множества версий, аналогичных упомянутому выше CreateInstal" и не в степени его "разумности", а в простом "можно или нельзя" ТАК включить библиотеки в тело экзешника, чтоб он их больше не искал? Только и всего! Вот о чём вопрос-то. А вовсе не о том: "нафиг такое нужно, ведь стандартные методики - вот такие-то..." Я разве против привычных методик и средств создания дистрибутивов? Ничуть, сам таким пользуюсь. Но! А если вдруг мне тут подскажут, что "можно вшить те библиотеки вот таким-то образом" - пусть это и будет непрактично, но ведь знаний лишних не бывает, не так ли? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2012, 00:03 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Ghost76ведь знаний лишних не бывает, не так ли? :)Не так. Некоторые знания некотогрым товарищам как обезьяне гранату нельзя давать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2012, 01:35 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
To суперзануда: Скажите лучше прямо, что не знаете ответа. Да и как, по вашему, такое знание может причинить вред? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2012, 02:52 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Ghost76Мне иногда приходится по 10 раз на дню посылать такие простенькие "демонстрашки" из нескольких команд - ну стОит ли из-за этого проделывать всё то, что вы описали после слов "Как обычно делают люди..."? По почте EXE в чистом виде сложно отправить, архивируете ведь? Ну так сделайте батник или лучше PRG для архивации Вашего EXE вместе с DLL в одном архиве Никаких заморочек, все автоматически, ведь так Вам хочется? Ghost76Всего-то нужно сбацать временный экзешник из пары строчек кода - для демонстрационных целей, и кинуть e-mail'ом его не-Фоксисту, который ещё неизвестно, в какую папку скачает его из почты и попытается там запустить обычно разархивируют все в одну папку, вот и будет там EXE и пара DLL, те самые "дополнительные файлы, не имеющие прямое отношение к этому простейшему экзешнику" P.S.Ghost76=MESSAGEBOX("Вариант с SYS(5)+CURDIR() выдаёт: "+papka1+CHR(13)+CHR(10)+"Вариант с JUSTPATH(SYS(16,0)) выдал: "+papka2,64,"Сравни, Юрик, результаты и прозрей :)")ИМХО, здесь CHR(10) - это лишнее :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2012, 07:58 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Ghost76To justIT: А если вдруг мне тут подскажут, что "можно вшить те библиотеки вот таким-то образом" - пусть это и будет непрактично, но ведь знаний лишних не бывает, не так ли? :) 1 - reware Вам ответил уже 2 - ехе зачем Вы его на FoxPro, если так Вам неудобно это делать? Возьмите тот же Tpascal и на нем делайте. не мучайте себя и форум :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2012, 08:46 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
To Jonny540: Экзешники с таким простым и заведомо безвредным кодом - легко проходят, например, через Яндекс-почту. Попробуйте сами! :) А насчёт chr(10) - автоматизм, привычка с прошлых лет :) To justIT: Интересно, как можно с помощью ТурбоПаскаля продемонстрировать собеседнику-неФокспрошнику разницу в работе 2-х ФоксПрошных команд? :) Эх, "гениальная" мысля оказалась непонятой никем!.. :) Ладно, низзя - так низзя. Закрывайте тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2012, 11:40 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Не, ну в старых досовских версиях Фокса была опция "Build Standalone Executable", в VFP такого нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2012, 14:46 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Уважаемый Ghost76 и другие участники данной темы! Среди обсуждениея http://www.sql.ru/forum/actualthread.aspx?tid=940090 некоторые из Вас не приняли участия. Обе темы имеют много общего. Присоединяйтесь! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2012, 14:47 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Ghost76Экзешники с таким простым и заведомо безвредным кодом - легко проходят, например, через Яндекс-почту. Попробуйте сами! :)Если бы не пробовал - не говорил бы Только я не понял - а что мешает архивчик сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2012, 14:49 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Ghost76To justIT: Интересно, как можно с помощью ТурбоПаскаля продемонстрировать собеседнику-неФокспрошнику разницу в работе 2-х ФоксПрошных команд? :) Зачем Не фокспрошнику вообще знать о: - фокспро - его команлдах ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2012, 16:04 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
AndreTMНе, ну в старых досовских версиях Фокса была опция "Build Standalone Executable", в VFP такого нет... Вот оно! Просто я забыл, как оно в Дос-Фоксе называлось-то! Помню же, что БЫЛА-таки ж такая возможность и у Фокса, и тогда он ещё не уступал-таки прочим языкам в этом смысле! Вот тоска и заела по тем райским временам. Спасибо, что напомнили! Чё-то растрогался я этими воспоминаниями, достаю носовичок... :) To UAP: Спасибо, я уже прочёл ту тему ещё позавчера - она похожа, но аспект там совсем другой, юридический, а не "локационный": там вообще не обсуждается возможность (или невозможность) включения пресловутых библиотек внутрь экзешника. А меня интересует только это, а не юридические заморочки. Jonny540Ghost76Экзешники с таким простым и заведомо безвредным кодом - легко проходят, например, через Яндекс-почту. Попробуйте сами! :)Если бы не пробовал - не говорил бы Только я не понял - а что мешает архивчик сделать? Ну, не знаю, что там у вас с отправкой экзешников по почте не получается - мои проходят, как миленькие (имеются в виду простенькие, на уровне ранее приведённого мной в этой теме примерчика прог.кода) Не верите - могу вам перенаправить любой из уже отправленных мной другому адресату экзешников. А вот насчёт архивчика - мысль вполне здравая, его и пользую пока при такой ситуации - уже весь комп получателя захламил дубликатами тех горе-библиотек :) Только как-то обидно за Фокс - такая универсальная махина, а не может обойтись без ширпотребовского архиватора в такой ситуации :( Оно б и ладно, если б он (Фокс) никогда и не умел делать Standalone-экзешники - так ведь умел же! Горько, что сейчас не умеет :( justITЗачем Не фокспрошнику вообще знать о: - фокспро - его командах ? Долго расписывать. Если вкратце, то: пытается он самостоятельно кое-что на Фоксе делать, только из-за отстутствия Фокс-знаний зачастую применяет не самые рациональные команды. Например, для подсчёта большого количества записей очень ба-а-альшого дбф-ника - применяет COUNT TO переменная вместо обыкновенного RECCOUNT(), а потом - удивляется почему форма так надолго "зажмурилась" и почему GRID вдруг показал последние записи той таблицы, а не те, которые были видны до подсчёта записей :) Вот и приходится просвещать его понагляднее подобными "сравнительными" программками (прилагаю для примера прг-шник) :) To All: ИМХО, нечего больше обсуждать по данной теме, раз возможность сабжа сейчас уже утеряна Фоксом :( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2012, 01:01 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Ghost76To All: ИМХО, нечего больше обсуждать по данной теме, раз возможность сабжа сейчас уже утеряна Фоксом :( Обсуждать нечего, нет такой возможности. Она была только в ДОС-версии фокса. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2012, 07:55 |
|
Монолитный exe-шник?
|
|||
---|---|---|---|
#18+
Может тема уже и закрыта, но у меня одно недоумение и одно предложение Недоумение: Если человек экспериментирует на фоксе, то у него он(фокс ) должен стоять. А если ФОКС стоит, то екзешник запущенный в любом месте на компе должен работать и без библиотек. Да и зачем екзешник нужен если можно просто prg-шник скинуть. Но может я не знаю каких-то тонкостей. Предложение: Для своих нужд я давно пользуюсь инсталлятором InnoSetup. Межт немножко не для таких целей - пользуюсь для исправления каких-то косяков в базах на компе у пользователя или обновления данных Так вот в одну папку можно сбросить екзешник, который мне нужен и dll-ки. И кидаю туда сделанный мною .iss -скрипт файл инсталлятора(прилагаю). Так вот - в чем прикол - создается инсталлятор, Когда запускаешь его, то при установке распаковывается екзешник и dll-ки в темповскую папку, запускается твоя прога делается всё что нужно, закрывается твоя программа, удаляется программа(флаг deleteafterinstall в iss) и dll-ки из темповской папки, завершается программа инсталляции. Т.е остаятся только сам инсталляционный файл. Может как-то громоздко - но повторяю - я это использую для того чтобы не напрягая пользователя что-либо проделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2012, 09:21 |
|
|
start [/forum/topic.php?fid=41&msg=37802801&tid=1583659]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 154ms |
0 / 0 |