Форум » Clipper » Не могу скомпилировать » Ответить

Не могу скомпилировать

Artful85: Имеется программа написанная на Клиппере, надо кое что подправить, в принципе код в исходниках подправил, но не могу скомпилировать в EXE. Создал из prn файла obj, а из obj не могу exe сделать... пишет Input Parsing Error... В Клиппере никогда не работал, но появилась острая необходимость разобраться, помогите пожалуйста, срочно надо!

Ответов - 27, стр: 1 2 All

Artful85: все получилось... вот еще одна проблема, когда компилирую из prn выпадает такая ошибка: "SPRPRIH.PRG<269> error c2001 Syntax error: 'proc'" Вот эта строчка: "MPROC = proc". В чем может быть проблема?

PSP: Имхо, из-за того, что Proc - зарезервированное слово (от Procedure ).

Artful85: PSP, спасибо! Еще одна ошибка Error c2005 Statement not recognized, match failed at: 'with' строчка: "repl cena with MCENA .and. nalcena with MNALCENA


Dima: Artful85 пишет: repl cena with MCENA .and. nalcena with MNALCENA repl cena with MCENA , nalcena with MNALCENA или так repl cena with MCENA repl nalcena with MNALCENA

Artful85: При выполнении программы, выпадает ошибка: "error DBCMD/2001 Workarea not in use: DBGOTOP" В чем может быть причина?

Dima: Artful85 База в которой Вы пытаетесь установить указатель записи в начало , не открыта.

Larry: Может скобки забыл? dbgotop()

Dima: Artful85 пишет: Имеется программа написанная на Клиппере, надо кое что подправить, в принципе код в исходниках подправил Уверен что исходник соответствует собранной программе ? Уж больно много ошибок при сборке....... Artful85 пишет: repl cena with MCENA .and. nalcena with MNALCENA Например эта , ну не может такого быть в рабочем исходнике Исходник "взял" путем декомпиляции или он просто был ?

Artful85: Dima исходники были, хочу все таки из декомпилированной собрать потому, что исходники отличаются от уже скомпилированной программы. Скажите как правильно мне провести эту процедуру? Имеется декомпилятор Валькирия 5, я в нем исходный код смотрел.

Dima: Artful85 Не проще ли пнуть разработчика ? В чужом тексте сложно разобраться , тем более если текст получен путем декомпиляции. PS Кстати если в программе есть вставки на ASM и С , программу Вам не собрать из декомпилированных исходников.

Artful85: пнул бы разработчика, если знал бы где он)

gustow: Пошли мне EXEшник (только в зипе или раре) на gustow @ miac.utk.ru - имел уже опыт с декомпилированием (параллельно получал два вида исходников: через RESCUE5 и через Валькирию - потом выправлял [оба, бывает, выдают свою "кривизну" в _разных_ местах]); попробую декомпильнуть (авось выйдет - если, конечно, нет C или ASM-вставок).

Artful85: постоянно вылазит ошибка при стирании записи, сообщение: "Workarea not in use: DBUNLOCK" И еще, при выполнении DBEVAL когда происходит обнуление определенного столбца в DBF файле: "Error DBFNTX/1210 Corruption detected" Притом если DBF файл не большой(около 100кБ) то нормально все выполняет, а если сильно большой (около 600кБ) вообще может повиснуть. В чем может быть причина? Где копать?

PSP: Artful85 пишет: "Workarea not in use: DBUNLOCK" Видимо, файл базы данных перед выполнением DBUnLock() уже закрыт, либо у функции DBUnLock() указан неверный алиас рабочей области. Если строка выглядит вот так, BASE->( DBUnLock() ), проверьте, открыт ли файл базы данных с алиасом BASE. Artful85 пишет: "Error DBFNTX/1210 Corruption detected" Притом если DBF файл не большой(около 100кБ) то нормально все выполняет, а если сильно большой (около 600кБ) вообще может повиснуть. В чем может быть причина? Где копать? Файл индекса (.ntx) испорчен. Обычно это бывает после ненормального завершения программы. Имхо, нужно просто его пересоздать. Хотя могут быть грабли и с условиями, по которым создается индекс. Как выглядит индексное выражение?

Artful85: PSP, это оно: use (cDBF + "prih") ALIAS prih NEW SHARED INDEX (cNTX + "prih")? Или где искать? Просто исходная программа без ошибок работает с теми же файлами.

Artful85: PSP пишет: Если строка выглядит вот так, BASE->( DBUnLock() ), проверьте, открыт ли файл базы данных с алиасом BASE. в строчке просто unlock

PSP: Artful85 пишет: use (cDBF + "prih") ALIAS prih NEW SHARED INDEX (cNTX + "prih")? Или где искать? Просто исходная программа без ошибок работает с теми же файлами. В этой строке открывается файл prih.dbf с индексом prih.ntx. Тут граблей нет. Программа умеет сама создавать индексные файлы? Если да, то можно удалить (или временно переместить) prih.ntx, чтобы создался новый.

PSP: Artful85 пишет: в строчке просто unlock Тут надо текст смотреть и искать, почему к моменту выполнения unlock рабочая область закрыта.

Artful85: PSP пишет: Программа умеет сама создавать индексные файлы? Я незнаю умеет или нет. Как должна выглядеть эта строчка?

gustow: Artful85 , я декомпильнул твой EXE (параллельно и RESCUE5, и Валькирией); сейчас правлю "человеческую" выдачу исходников (после Валькирии), глядя на "нечеловеческие" исходники (после RESCUE5). Никаких "глупостей" типа указанных ранее тобой [pre2]repl cena with MCENA .and. nalcena with MNALCENA[/pre2] в полученных исходниках нет (за исключением одного места - где в функции после RETURN идет изрядный кусок текста, который НИКОГДА не будет выполняться, а в нем есть вызов какой-то функции HLP()... видать, это "остатки прошлого"... просто закомментировал это место - все равно туда прога попадать не будет ни в коем случае). Примерно половину уже сделал (много функций с одинаковыми именами - видать, лепилось методом копипастенья с минимальной правкой; приходится разбираться, что откуда и для кого...), надеюсь до конца раб.недели (т.е. до пятницы 26.06) закончить. Потерпишь? Зато будут исходники, точно соответствующие EXEшнику (надеюсь :) ).



полная версия страницы