Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Всем привет.
У меня проект (VFP8) всего из одного файла my.prg, он же main. Никакого интерфейса не должно появляться. Программа (*.exe) должна отрабатывать бесшумно и по исполнении самоликвидироваться. Что прописать в начале и в конце проги. Вот конфигурационный файл
Чтобы exe запускалась без установки VFP, рядом с исполнительным файлом будут лежать следующие файлы: [attachment 27925 one_prg_main.GIF] Исправлено 2 раз(а). Последнее : AdamAry, 04.07.17 11:38 |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
dimuhametov Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
------------------ Незнание делает жизнь такой интересной. |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
После:
при Win32 executable / COM server (exe) появляется то же самое:
Исправлено 5 раз(а). Последнее : AdamAry, 04.07.17 12:34 |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
Прежде чем наезжать может быть стоит сначала разобраться в его ли коде дело? Мжет таки у самого рыльце в пушку? ------------------ Лень - это неосознанная мудрость. |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Всего лишь спросил он тестил или нет.
Исправлено 5 раз(а). Последнее : AdamAry, 07.07.17 07:40 |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
pasha_usue Сообщений: 3647 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Ну это если он что-то асинхронное там будет делать, то надо. А если тупо прокрутить какой-нибудь цикл, то не надо READ EVENTS. Цикл прокрутит, сам вывалится. Но я б всё-таки QUIT в конце работы поставил бы. |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
pasha_usue Сообщений: 3647 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Я охереваю в этом зоопарке. Вам подсказали, что нужно использовать READ EVENTS. Вы кроме этого совета самостоятельно неправильно воткнули CLEAR EVENTS. И давай на "плохие" советы грубыми словами ругаться: "ты сам-то хоть пробовал?". Да пробовал, конечно, просто Help читал глазами и мозгом, а не как обычно. |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
То же самое:
Если ты пробовал почему у тебя не появляется такая же ошибка? У тебя нормально компилится exe? Не думаю что VFP8, на которой я это запускаю, сильно отличается от VFP9. Исправлено 4 раз(а). Последнее : AdamAry, 04.07.17 12:41 |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
spinz Сообщений: 5263 Дата регистрации: 21.01.2016 |
Я бы что-нибудь про фаготов написал. И в середине проги тоже. |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
pasha_usue Сообщений: 3647 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Это не зависит от VFP8/9. Только от того, кто как хелп по CLEAR EVENTS прочитал. |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
dimuhametov Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
[color=Gray][/color] Дал ответ в том же духе или "Пойди туда - не знаю куда, принеси то - не знаю что". ------------------ Незнание делает жизнь такой интересной. |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
dimuhametov Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
Ты не поверишь, компилится без проблем мой "гениальный" код ------------------ Незнание делает жизнь такой интересной. Исправлено 1 раз(а). Последнее : dimuhametov, 04.07.17 13:26 |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
Как он мог это тетстить с ВАШИМ кодом? Вы сообщение об ошибке читали? Оно про его код? Цитата:А что, тут был предложен полный код? Вы запускаете только то, что он написал? Цитата:Да, возмутительно, когда профан что-то свое горбатое налепит из ответов на такие вот горбатые вопросы и потом возмущается, что ему дают нерабочие ответы. Цитата:Для профанов любой ответ - псевдоответ. Ибо они не понимают, что им отвечают. Цитата:Как всегда .... не очень умный. Цитата:А вы знаете верный ответ? И нас просто поверяете? Цитата:Вы еще не научились читать и, главное, правильно понимать прочитанное. Цитата:А может в очередной раз кто-то сел в лужу? Цитата:Хотеть можно, Попросить можно. Только вот кто и как может определить наличие правильного ответа на идиотский, да к тому же еще и не полностью озвученный вопрос? Ну чтобы понять, стОит отвечать или нет? ------------------ Лень - это неосознанная мудрость. |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
pasha_usue Сообщений: 3647 Откуда: Е-бург Дата регистрации: 06.10.2006 |
|
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Понял, спасибо PASHA_USUE, отличный пример и образец прекрасного стиля, вот это работает!:
Надо использовать какой нибудь класс и уже внутри функции классa писать CLEAR EVENTS для выхода (либо выход по условию как реализовал Павел, либо ставить просто в конце процедуры), а сразу после объявления экземпляра класса ставить READ EVENTS. Цитата:Т.е. можно вообще не использовать ReadEvents и ClearEvents для однопрограммных exe, которые работают не долго? Исправлено 4 раз(а). Последнее : AdamAry, 04.07.17 15:32 |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Да, действительно я упустил текст самой программы, которая должна выполняться. Пусть в теле программы будет например
В реальности у меня идёт запуск COM объекта и результаты записываются в текстовый файл плюс в конце программы есть одна функция. Исправлено 2 раз(а). Последнее : AdamAry, 06.07.17 07:22 |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
pasha_usue Сообщений: 3647 Откуда: Е-бург Дата регистрации: 06.10.2006 |
На самом деле этот пример имеет смысл исключительно с таймером. Если внутри вашего класса крутится какая-то мега-процедура обработки и не прерывается на обработчик событий системы, то смысла в READ EVENTS и ON SHUTDOWN CLEAR EVENTS нет никакого. Если всё-таки хочется, что б программа не "зависала" по мнению системы, то надо периодически в большом обработчике делать DOEVENTS. То-есть надо любым способом отдавать время на обработку системных событий. Либо через таймер, либо через DOEVENTS. И не перестараться, раз в 200 мс - вполне нормально. |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Решает сообщество насчёт степени доходчивости вопроса. Вот Павел быстро дошёл до сути и дал отменный ответ с использованием класса и по всей видимости я буду использовать его подход для создания однопрограммных проектов. Цитата:"Спроси своё сердце .... " Исправлено 1 раз(а). Последнее : AdamAry, 04.07.17 15:50 |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
мега-процедура это имеется в виду большая процедура, не так ли? Т.е. в простых случаях, когда нет необходимости выходить, остановив работу программы нажатием ESC, READ EVENTS и ON SHUTDOWN CLEAR EVENTS использовать не нужно. Цитата:Спасибо Павел, не знал, что для уиндоуз, чтобы она не думала что это зависание, надо периодически запускать DOEVENTS. Извиняюсь, но мне трудно представить как это реализовать, не мог бы показать простой пример ".... надо любым способом отдавать время на обработку системных событий. Либо через таймер, либо через DOEVENTS. ...." Исправлено 1 раз(а). Последнее : AdamAry, 04.07.17 15:51 |
Re: Что прописать в начале и в конце единственной в проекте main проги | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Ничего. Т.е. буквально ничего не нужно "добавлять". Будут исполнены ровно те команды которые прописаны в этом самом файле, и как только исполнение дойдёт до конца главного модуля (того кода который написан в самом начале файла, до любых DEFINE CLASS или PROCEDURE/FUNCTION), программа завершится. Без особой надобности эту настройку трогать не следует. Фокс сам использует путь из переменной среды %TEMP% для размещения своих временных файлов. gdiplus.dll не нужно таскать начиная с WindowsXP SP3 - она уже "встроена" в систему, и с большой долей вероятности там будет более новый, и значит более надёжный и безопасный файл чем положишь ты. Кто такие libipriv и Tools - одному тебе известно. Фоксу эти библиотеки не нужны. Равно как и msvcp70. А вот msvcr70 нужна. Для некоторых функций фоксу могут понадобиться и другие библиотеки, в частности msxml4 - но их так просто уже невозможно "положить рядом с exe" - нужно регистрировать в реестре, или добавлять к фоксовому exe специальный манифест - технология RegFreeCom. ------------------ WBR, Igor |
© 2000-2024 Fox Club  |