Исчезает код из Init формы | |
---|---|
ry Автор Сообщений: 2113 Дата регистрации: 24.09.2007 |
Надо было сегодня срочно доделать в форме дополнительный функционал. Сделал (пока по-быстрому, на следующей неделе дошлифую), но при работе столкнулся с непонятной для мня ситуацией: код, прописанный в Init формы, пропадает после создания exe. При этом в exe этот код отрабатывает как надо, а вот при последующем открытии формы в дизайнере кода в Init уже нет. Код в остальных элементах формы сохраняется. В параметрах сборки exe включены только Recompile All Files и Display Errors, эти опции использую всегда. Форма создана на основе класса, в классе в Init кода нет, прописываю его именно в форме. При сохранении формы код остается, при билдинге - попадает в exe и исчезает. Это какой-то глюк или я уже плохо соображаю в пятницу?
|
Re: Исчезает код из Init формы | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Глюк.
Надо перекомпилировать форму и сам проект. Уже несколько раз обсуждали тут подобные незадачки, можно попробовать поискать. |
Re: Исчезает код из Init формы | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
"Как я понимаю, о
|
Re: Исчезает код из Init формы | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Он лишь "невиден" в визуальном редакторе, или физически отсутствует в поле Methods scx файла (для соответствующей записи)?
Если первое, то такого рода сбои лечит COMPILE FORM ... Если второе - это более серьёзно. Могу лишь предположить что как всегда какой-нить б-гомерзкий Касперский или ДрВеб гадит... ------------------ WBR, Igor |
Re: Исчезает код из Init формы | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
В FPD тоже были scx файлы (пусть и чуть иного толка), и как и в любой таблице нет никаких гарантий её неповреждения при работе. Особенно на ненадёжной системе (сбоящая сеть, г-но АВ и т.п.) ------------------ WBR, Igor |
Re: Исчезает код из Init формы | |
---|---|
ry Автор Сообщений: 2113 Дата регистрации: 24.09.2007 |
По совету Chemberzhy воспользовался поиском (ну лениво было без пинка со стороны) и обнаружил, что проблема не новая: forum.foxclub.ru
На следующей неделе попробую перед созданием exe сначала сделать Rebuild Project и посмотрю, что получится. Кстати, включенная опция Recompile All Files разве не делает с проблемной формой то же самое, что и Compile Form? |
Re: Исчезает код из Init формы | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Делает, но видимо при этом что-то у тебя идёт "не так". От чего и портится форма. В лучшем случае просто смещения в objcode "неправильные" получаются, а само тело методов на месте остаётся. В худшем - сразу в гроб
Вполне возможно что в отрыве от процесса сборки exe, перекомпиляция одиночной формы и нормально пройдёт. Раз уж советуют предварительный rebuild project - который очень похож на поочерёдную перекомпиляцию форм/библиотек/программных файлов, и, насколько я в курсе, отличается таки от сборки exe - по крайней мере для prg модулей отличия точно есть ------------------ WBR, Igor |
Re: Исчезает код из Init формы | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Опытным путем проверено, что не помогает. Помогает (при хорошей погоде ) только перекомпиляция внутри проекта. То есть, делаем какое нибудь изменение в форме, например ложем на нее CommandButton, делаем незначительные изменения в методе, который "прячется", например: "* убить Билла", компилируем форму, удаляем ненужный объект с формы, в лечимом методе можно ничего не менять, компилируем форму и.., работает. Объект добавлять обязательно, так как он добавляет в таблицу SCX новую запись, что и провоцирует восстановление её из состояния перманентных глюков. Кстати, также проверял, а можно ли вылечить SCX, добавив в таблицу запись вручную- не помогает. Исправлено 1 раз(а). Последнее : Chemberzhy, 26.01.18 17:15 |
Re: Исчезает код из Init формы | |
---|---|
ry Автор Сообщений: 2113 Дата регистрации: 24.09.2007 |
Сегодня с утра, ничего не меняя в проекте, сделал Rebuild Project с опцией Recompile All Files, затем создал exe - все нормально, код остался на месте. Спасибо за помощь!
|
Re: Исчезает код из Init формы | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
У меня несколько раз было подобное. Поставлю отладку - и уходит.
Т.е. просто заставил метод формы перезаписаться |
Re: Исчезает код из Init формы | |
---|---|
descent52_tmp Сообщений: 214 Откуда: Саров Дата регистрации: 20.11.2014 |
Раз уж тут ссылка на меня была, то я ещё на антивирус тогда грешил- nod32 тогда стоял, формы портились периодически. Не все и не всегда, но нежданчик ловил раза 4 или 5! Причём, рушилась даже самая главная форма. После того глюка, сначала все формы перезакрываю, только потом ехе делаю. Но в память как вшилось, когда на какой либо форме нажимаю Сохранить... но пока тьфу тьфу тьфу... И антивирус тот я удалил, ну его лешего... Исправлено 1 раз(а). Последнее : descent52_tmp, 29.01.18 12:18 |
Re: Исчезает код из Init формы | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Часто меняю что-то в проекте и:
- проект загнулся - .pjt сдох. Привык, есть копия. Или нет, все равно могу восстановить Специально, есть включенный в проект Project.prg. В нем ссылки, кот. автоматом не идут, типа "alpha.bmp". - не работает метод в объекте: форма или класс, как в этой теме Сразу не поймешь! То, что писал - этот метод надо подправить, чтобы перезаписал. Сам я всегда это по-жизни не ожидаю и ставлю, типа своего Messagebox для отладки. Вдруг, заработало молча. Убрал, назад как было, - все хорошо, проблема ушла! Это какая-то порча, к кот. я приспособился. Она редко возникает и сразу забывается, т.к. уже все пляшет. Ну, раз в пол года - год. Наверно, я чаще других гоняю Modify Project. Memo-поля у Фокса - ахиллесова пята. Я могу гарантировать, что одновременно с кем-то в одно время не собирал проект. У нас просто таких нет. IMHO, какая-то проблема Фокса с порчей fpt, здесь pjt. Или у проекта Фокса еще есть своя ахиллесова пята, кот. тут описана Исправлено 3 раз(а). Последнее : Ydin, 29.01.18 19:50 |
Re: Исчезает код из Init формы | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
FPD forever!..
|
Re: Исчезает код из Init формы | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Да точно такая же хрень в FPD с мемо-полями. Их и там старались по возможности не использовать.
------------------ WBR, Igor |
Re: Исчезает код из Init формы | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Я в проектах их ни разу не использовал. Можно в конце концов и завести парочку-тройку символьных полей максимального размера. В основной таблице наименование, допустим, 150 символов. Если лимит превышен, то в дополнительной таблице при необходимости размещается наименование со 151 позиции и далее. Выполнять выборки и всякого рода поиски по наименованию (допустим, по фильтру AT()) вполне возможно из двух таких таблиц. Такая реализация у меня в проектах есть, и никаких проблем с этим не было ни по скорости, ни ещё по чему-либо.
Исправлено 1 раз(а). Последнее : Simple777, 29.01.18 22:49 |
Re: Исчезает код из Init формы | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Вообще, подобных глюков в фоксе не мало(
У меня достаточно регулярно, получаю какую то форму, на основе своих классов, и на ней свои контролы. Которые вызывают другие объекты. Все давно отлажено, и пашет как часы. Но вдруг начинается, форма не закрывается, висит. Явно какой то объект не уничтожен. И тратишь кучу времени, на поиски и разбор. А потом вдруг само пропадает. И главное. Что радует. В ехе этих глюков нет, тока при отладке. (ну так все равно мешает) ------------------ |
Re: Исчезает код из Init формы | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Зато наверняка в exe бывает много чего такого, чего не бывает при отладке. Мда... Ввод букаф и циферь юзером посредством GUI - "это вам таки не на Привозе". Это еще покруче вырывания гланд через анус будет. |
Re: Исчезает код из Init формы | |
---|---|
Божья_коровка Сообщений: 25731 Дата регистрации: 23.08.2001 |
Встречала я такое наследие в 3х вариантах исполненное, и когда длинное наименование дробилось на поля но в одной таблице, и когда оно дробилось по двум таблицам, в одной таблице начало во второй продолжение и когда всё в одной таблице но реализовано было несколькими записями, т.е. первая запись - начало наименования, за ней вторая запись с теми же параметрами и продолжением наименования....Не вижу ничего приятного в таких реализациях Восторг тов. Симпле777 по поводу FPD не разделяю но уважаю ------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... Исправлено 1 раз(а). Последнее : Божья_коровка, 30.01.18 08:39 |
Re: Исчезает код из Init формы | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
...А почему Memo не использовано? Чтобы можно было индексировать по полю C(150) и искать?...
...Или, например, заменить поле C(150) на ID (число), ID указывает на запись вспомогательной таблички {ID, Memo} с наименованием любой длины. Тогда найдем в вспомогательной табличке нужное наименование, его ID, ищем это ID в "основной" табличке... |
Re: Исчезает код из Init формы | |
---|---|
Божья_коровка Сообщений: 25731 Дата регистрации: 23.08.2001 |
ИК же написал - Цитата: На что, Симпле ответил - Цитата: А я лишь поделилась подобными вариантами реализации наследие которых я застала в рабочих проектах...;) Кстати 3й вариант я застала в приложении у которого БД была Оракловая, на вопрос - что за хрень? Получила ответ - это не хрень, а так работало в досовском приложении когда то и при переводе на новые "рельсы" эта штука осталась, её не переделывали. Там была огромная таблица справочник с длинными наименованиями, в котором как раз по записям разбивка была -
------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... Исправлено 1 раз(а). Последнее : Божья_коровка, 30.01.18 09:52 |
© 2000-2024 Fox Club  |