хулиганский прием | |
---|---|
boba Автор Сообщений: 6269 Откуда: Медвежьи озера- Дата регистрации: 26.03.2001 |
Сижу, модифицирую чужой проект,
написанный сотрудницей, ушедшей на пенсию в 80 лет Вижу такой перл do &imfile with &parr Вылетает ошибка синтакиса уже при выполнении Заменяю на do (imfile) with (parr) Снова ошибка , но уже в программе , имя которой в переменной imfile Там на входе объявлено 3 параметра При вызове через & фокс раскидывает переменную parr на три параметра сам, а при вызове через () передает только в одну. Всегда старался пользоваться & по минимуму. Сижу и думаю, как бы это так переписать, чтобы не валилось |
Re: хулиганский прием | |
---|---|
AngelOKES Сообщений: 828 Дата регистрации: 08.02.2012 |
if...else
try...catch |
Re: хулиганский прием | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Хочешь прикол? ;)
Посмотри, что вернет процедура, к примеру, такая, похожая на твой пример...
а потом подставь в переменную parr, например, такие значения
Но, если сделать так...
P.S. Я довольно часто в своей практике использовал макроподстановку, в основном для максимальной унификации удаленного кода, менять который можно было просто подставляя отдельный текстовик или бинарник (если спрятать хотелось) для считывания с него нужных строчек. Сначала на грабли наступал частенько, потом постепенно в голове сложился четкий алгоритм возвращаемых макроподстановкой в коде значений и ошибки исчезли. ------------------ Что-то с памятью моей стало, всё что было не со мной- помню. Исправлено 5 раз(а). Последнее : Chemberzhy, 22.09.21 13:40 |
Re: хулиганский прием | |
---|---|
boba Автор Сообщений: 6269 Откуда: Медвежьи озера- Дата регистрации: 26.03.2001 |
Все верно, так тетка и передает с апострофами и запятыми
Но тут где-то выше ошиблась, один параметр был без апострофов Само тело параметра формируется не в одном месте, все искал на ощупь. |
Re: хулиганский прием | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
поставь таймер, в котором пропиши проверять количество апострофов в этой переменной и как только их станет меньше 6, пусть он тебе свистнет, хотя, если на следовала той же логике, что и я, собирая такие переменные по коду, то проще искать по количеству запятых: как только их стало 3, проверить сколько апострофов, если не 6, то звоночек.
------------------ Что-то с памятью моей стало, всё что было не со мной- помню. Исправлено 2 раз(а). Последнее : Chemberzhy, 22.09.21 21:30 |
Re: хулиганский прием | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
А что тут иное ожидалось? Для выполнения команды
Макро именно к такому виду и приводит команду. В случае затруднений, вероятно, проще собирать команду целиком (не по частям, т.е.
------------------ WBR, Igor |
Re: хулиганский прием | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
или так:
|
Re: хулиганский прием | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Так проблема не сборки макроподстановки у Владимира, а в поиске точки в коде, где забыли в строку апострофы вставить ;)
------------------ Что-то с памятью моей стало, всё что было не со мной- помню. |
Re: хулиганский прием | |
---|---|
akvvohinc Сообщений: 4201 Откуда: Москва Дата регистрации: 11.11.2008 |
В отладчике поставить Breakpoint на переменную, значение которой требуется контролировать - так и проверять, когда в нее будет записано "не то".
Это если ошибка легко воспроизводима. Исправлено 1 раз(а). Последнее : akvvohinc, 23.09.21 16:44 |
Re: хулиганский прием | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Не в курсе, как в VFP, а в FPD отладчик совсем неважно работает с макроподстановками.
|
Re: хулиганский прием | |
---|---|
akvvohinc Сообщений: 4201 Откуда: Москва Дата регистрации: 11.11.2008 |
Макро здесь ни при чем.
Контролировать можно значение любой переменной, в том числе и той (тех), которые лежат в основе макро. Программа остановится, когда значение переменной изменилось, далее смотришь ее новое значение. Если знаешь, что в ней должно быть, а чего не должно, то ошибка найдется быстро, если само ее появление регулярно. |
Re: хулиганский прием | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Круто конечно с контролем значения переменной...
Для первого класса ЦПШ. Если программа абсолютно плоская. А если эта переменная пришла как параметр? При ошибке останавливать и смотреть стек вызовов и не иначе. |
Re: хулиганский прием | |
---|---|
akvvohinc Сообщений: 4201 Откуда: Москва Дата регистрации: 11.11.2008 |
Я не говорил, что нельзя поставить "Останов" на нескольких переменных.
В любом случае ошибки такого рода вряд ли потребуют более получаса поисков - пусть даже автору будет не 80 лет, а 180. Главное, чтобы она была регулярна. |
Re: хулиганский прием | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
В FPD всё намного проще. Берёшь Far, и ищешь в *.prg то, что тебя интересует.
|
Re: хулиганский прием | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Так если предполагается поиск вверх место зарождения переменной, то не проще ли без всяких отладчиков проверить и слегка рефакторить код чтоб уйти от макро?
|
Re: хулиганский прием | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Я тебя удивлю, но в vfp это тоже можно, причём встроенными средствами. |
Re: хулиганский прием | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Но в VFP код ведь не только в *.prg
Оно,конечно, и в FPD код может быть в *.frm и др. Но у меня токмо в *.prg |
Re: хулиганский прием | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Есть инструмент ищет по всему проекту, в том числе формах, классах и ест. в прг.
|
Re: хулиганский прием | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Можно и ручками
Use ... Scan for "..."$"..." ;) ------------------ Что-то с памятью моей стало, всё что было не со мной- помню. |
Re: хулиганский прием | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Конечно пока не надоест. Я накидал себе поисковик. Ищет во всех возможных файлах, куча фильтров. Оформил как com-exe-server. Запускается из ide фокса, но в отдельном процессе/потоке. Т.е. когда запустил непосредственно поиск, то в самом ide можно продолжать работать. Когда поиск отработает будет сформирован список файолов и найденных строк. Дабл-клик и файл открывается в ide из которой и запустили на найденной строке. Есть возможность открыть все найденные файлы одной кнопкой. |
© 2000-2024 Fox Club  |