Автор | Сообщение |
|
| |
Пост N: 1
Зарегистрирован: 15.11.12
|
|
Отправлено: 15.11.12 14:42. Заголовок: Вопрос по сборке проекта
использую Clipper 5.2e portable выкачанный по адресу http://softclipper.narod.ru/download.html. При сборке проекта rtlink предлагает указать путь до библиотеки CE50.LIB. Подскажите пожалуйста где найти данный файлик... или полноценную папку со всеми библиотеками. Опыт работы с clipper отсутсвует а экзешник собрать очень хочется. Please help...
|
|
|
Ответов - 67
, стр:
1
2
3
4
All
[только новые]
|
|
|
| |
Пост N: 644
Зарегистрирован: 11.06.10
|
|
Отправлено: 15.11.12 15:54. Заголовок: yukirin пишет: Подс..
yukirin пишет: цитата: | Подскажите пожалуйста где найти данный файлик... |
|
Ищите в папке CLIPPER\LIB.
|
|
|
|
| |
Пост N: 2
Зарегистрирован: 15.11.12
|
|
Отправлено: 15.11.12 17:48. Заголовок: Хороший ответ... Из..
Хороший ответ... Изменю вопрос - может ли кто-нибудь поделиться папкой LIB с уже существующей там библ. CE50.LIB, т.к. в том варианте Clipper 5.2e который я скачал данная библиотека отсутствует.
|
|
|
|
| |
Пост N: 3
Зарегистрирован: 15.11.12
|
|
Отправлено: 15.11.12 17:54. Заголовок: Кстати ссылку я непр..
|
|
|
|
| |
Пост N: 2548
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.11.12 18:35. Заголовок: yukirin пишет: CE50..
yukirin пишет: Не припомню такой библиотеки yukirin пишет: цитата: | Там было написано "самая стабильная версия со всеми обновлениями и дополнительными библиотеками" |
| Надо понимать что там библиотеки от Clipper + Clipper Tool и среди них не было ни когда CE50.LIB
|
|
|
|
| |
Пост N: 4
Зарегистрирован: 15.11.12
|
|
Отправлено: 19.11.12 12:05. Заголовок: Нужна помощь в сборк..
Нужна помощь в сборке проекта. У меня имеется голый исходник размером в 28700 строк который мне достался от одного человека со словами - что это единственный существующий текст программы - другого нет. У меня получить работоспособный экзешник не получается - есть два-три десятка функций на которые блинкер ругается как на не существующие внешние ссылки. Что необходимо подключить( библиотеки, include) я не знаю и подобрать не получается. Вполне возможно что исходник подпорченный ( причем специально). Опыт написания на клиппер, как я писал выше, отсутствует вообще. Пишу на с++... В общем прошу помощи в получении хотя бы нормально запускающегося экзешника))). Для откликнувшихся моя почта - yukirin@yandex.ru или пишите вашу - отправлю.
|
|
|
|
| Администратор
|
Пост N: 2539
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.11.12 12:15. Заголовок: Дайте список нереали..
Дайте список нереализованных ссылок. Возможно, они из какой-нибудь распространенной библиотеки, которую надо будет прилинковать.
|
|
|
|
| |
Пост N: 5
Зарегистрирован: 15.11.12
|
|
Отправлено: 19.11.12 14:00. Заголовок: Подключил в скрипте ..
Обновился до версии 5.3b. Подключил в скрипте блинкера файл ctus и изменил библиотеку с ctp на ct - количество ссылок сократилось: BLINKER : 1115 : TORG_11.OBJ(TORG_11) : 'GOTOBOTTOM' : unresolved external BLINKER : 1115 : TORG_12.OBJ(TORG_12) : 'ERRORMESSA' : unresolved external BLINKER : 1115 : TORG_12.OBJ(TORG_12) : 'POSTACTIVE' : unresolved external BLINKER : 1115 : TORG_21.OBJ(TORG_21) : '_NEWCLASS' : unresolved external BLINKER : 1115 : TORG_21.OBJ(TORG_21) : '_ADDMETHOD' : unresolved external BLINKER : 1115 : TORG_22.OBJ(TORG_22) : 'GETREADVAR' : unresolved external BLINKER : 1115 : TORG_31.OBJ(TORG_31) : 'SETCLASS' : unresolved external Вот мой скрипт blinker'а: BLINKER EXECUTABLE CLIPPER F:250;SWAPK:8192;SWAPPATH:C:\TMP BLINKER EXECUTABLE NODELETE BLINKER PROCEDURE DEPTH 100 #BLINKER EXECUTABLE EXTENDED BLINKER INCREMENTAL OFF #BLINKER EXE COMPERSS 1 NOBEL STACK 10240 FILE TORG_11 FILE TORG_12 FILE TORG_21 FILE TORG_22 FILE TORG_31 FILE TORG_32 FILE CTUS LIBRARY CPMI LIBRARY NANFOR LIBRARY CLIPPER LIBRARY TERMINAL LIBRARY EXTEND LIBRARY CT попробовал запустить то что получилось)))) - получил ошибку - RDDREGISTE(0) Internal error 9002 Читал про возможность декомпиляции. Вопрос какова вероятность получения рабочих исходников для возможности дальнейшего сопровождения программы.
|
|
|
|
| Администратор
|
Пост N: 2540
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.11.12 14:15. Заголовок: Если исходная програ..
Если исходная программа собрана rtlink'ом, то ее декомпилировать можно, если блинкером - нет. Функций осталось совсем немного, и достаточно их найти или сделать им замену. PostAvtive, GetReadVar - эти функции есть в clipper 5.3, так что лучше собрать проект этой версией компилятора _NewClass, __AddMethod, SetClass - это явно из какой-то библиотеки для ООП Это не classy, но этих библиотек не так много, надо пересмотреть GOTOBOTTOM - покажите, в каком контексте идет вызов этой функции, чтобы понять что она делает ErrorMessage - можно просто добавить заглушку: func ErrorMesssage return ""
|
|
|
|
| |
Пост N: 6
Зарегистрирован: 15.11.12
|
|
Отправлено: 19.11.12 14:59. Заголовок: так ведь и обновился..
так ведь и обновился до версии 5.3б GETREADVAR и POSTACTIVE также unresolved external по поводу GOTOBOTTOM: function TBROWSEIND(Arg1, Arg2, Arg3, Arg4, Arg5) local Local1 Local1:= tbrowsenew(Arg1, Arg2, Arg3, Arg4) settbrowse(Local1, Arg5) return Local1 ******************************** procedure SETTBROWSE(Arg1, Arg2) Arg1:gotopbloc({|_1| (_1:= Set(_SET_SOFTSEEK, .T.), dbSeek(Arg2), Set(_SET_SOFTSEEK, _1))}) Arg1:gobottomb({|| gotobottom(Arg2)}) //функция на которую ругается блинкер Arg1:skipblock({|_1| movepointe(_1, Arg2)}) ******************************** пример вызова TBROWSEIND в которой исполбзуется - gotobottom wbox() Local1:= tbrowseind(0, 0, MaxRow() - 1, MaxCol(),Str(doch->iddoc)) //------------------------------------------------------------------------------------------------// Где взять эти ООП библиотеки? Этот класс используется при печати.
|
|
|
|
| Администратор
|
Пост N: 2541
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.11.12 15:31. Заголовок: gotobottom - это суд..
gotobottom - это судя по всему seek last т.е. можно добавить эту функцию: func gotobottom(Arg) Local lSoft := Set(_SET_SOFTSEEK, .T.) dbSeek(Arg,, .t.) Set(_SET_SOFTSEEK, lSoft) return nil GETREADVAR и POSTACTIVE должны быть в lib\clipper.lib, размер 694791 от 20.05.1997 Насчет ООП - есть ли в проекте какие-нибудь файлы *.ch, связанные с библиотекой ООП ? Я именно такую не вспомню, пересмотрел какие у меня есть ООП-библиотеки
|
|
|
|
| Администратор
|
Пост N: 2542
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.11.12 15:35. Заголовок: Ага, GETREADVAR и PO..
Ага, GETREADVAR и POSTACTIVE это static-функции, значит используется какая-то альтернативная get-система Т.е. исходные тексты не все. Можно попробовать взять модуль source\sys\getsys.prg, найти строки Static function GETREADVAR(..) и Static function PostActive(..) и заменить их на function GETREADVAR(..) и function PostActive(..) Кстати, сырцы похоже получены именно декомпилятором
|
|
|
|
|
| |
Пост N: 7
Зарегистрирован: 15.11.12
|
|
Отправлено: 19.11.12 15:54. Заголовок: проблема не в исходн..
проблема не в исходнике потому как я нашел эти функции в тексте. Проблема видимо в том что я не правильно поделил сам текст программы на куски . Дело в том что переданный мне исходник шел одним файлом и клипер при компиляции выдавал - to many labels и не создавал объектный файл. Мне посоветовали просто раздробить программу на куски что я не задумываясь и сделал. Как правильно разделить текст на куски? Можно ли сделать так что бы клиппер при компиляции с ключем /w все предупреждения писал в файл, а то их довольно много и они быстро пробегают по экрану и что там было понять невозможно. кстати GETREADVAR и POSTACTIVE и др.( кроме ООП ф-ций ) больше не unresolved external. На класс возложена печать, т.е. по идее программа должна у меня запустится без печати - но при запуске получаю - RDDREGISTE(0) Internal error 9002
|
|
|
|
| moderator
|
Пост N: 442
Зарегистрирован: 06.07.06
|
|
Отправлено: 19.11.12 15:55. Заголовок: _NEWCLASS, _ADDMETHO..
_NEWCLASS, _ADDMETHOD, SETCLASS обнаружились в Fivewin.
|
|
|
|
| moderator
|
Пост N: 443
Зарегистрирован: 06.07.06
|
|
Отправлено: 19.11.12 15:59. Заголовок: yukirin пишет: Можн..
yukirin пишет: цитата: | Можно ли сделать так что бы клиппер при компиляции с ключем /w все предупреждения писал в файл, а то их довольно много и они быстро пробегают по экрану и что там было понять невозможно. |
| clipper.exe my.prg /w >my.log
|
|
|
|
| Администратор
|
Пост N: 2543
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.11.12 16:07. Заголовок: yukirin пишет: Как ..
yukirin пишет: цитата: | Как правильно разделить текст на куски? |
| Поскольку восстановить исходную разбивку не получится, то прийдется разбивать хорошо известным методом проб и ошибок, соблюдая некоторые правила Например, такое: static-функция должна быть определена в то модуле, откуда есть ее вызов. Надо либо перенести функцию в тот модуль, либо убрать static цитата: | На класс возложена печать, т.е. по идее программа должна у меня запустится без печати - но при запуске получаю - RDDREGISTE(0) Internal error 9002 |
| Попробуйте в скрипт сборки добавить: library dbfcdx, dbfntx, _dbfcdx
|
|
|
|
| Администратор
|
Пост N: 2544
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.11.12 16:12. Заголовок: alkresin пишет: _NE..
alkresin пишет: цитата: | _NEWCLASS, _ADDMETHOD, SETCLASS обнаружились в Fivewin. |
| Символы подчеркивания вроде бы в именах функций не так расположены. Может другая библиотека ?
|
|
|
|
| moderator
|
Пост N: 444
Зарегистрирован: 06.07.06
|
|
Отправлено: 19.11.12 17:40. Заголовок: Pasha пишет: Символ..
Pasha пишет: цитата: | Символы подчеркивания вроде бы в именах функций не так расположены. Может другая библиотека ? |
| В моей копии objects.lib - именно так.
|
|
|
|
| |
Пост N: 8
Зарегистрирован: 15.11.12
|
|
Отправлено: 19.11.12 23:02. Заголовок: вобщем линкуется сей..
вобщем линкуется сейчас без предупреждение об unresolved external подключил - objects.lib. но толку от этого мало.... RDDREGISTE(0) Internal error 9002 и все тут. DBFNTX.LIB тоже подключил. если запускать компиляцию с ключем /w - то получаем несколько тысяч предпреждений прмерно одного содержания: Warning C1003 Ambiguous reference: 'GETLIST' Warning C1003 Ambiguous reference: 'GETLIST' Warning C1004 Ambiguous reference, assuming memvar: 'GETLIST' вместо GETLIST могут быть другие переменные но с GETLIST подавляющее большинство.... пока тупик. нашел процедуру ******************************** init procedure DBFNTXINI rddregiste("DBFNTX", 1) return ******************************** мож в ней что не так вообще в тексте программы довольно много функций и процедур выдернутых из текстов представленных на страничке http://www.mythologics.com/c53/
|
|
|
|
| moderator
|
Пост N: 445
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.11.12 08:37. Заголовок: Обычно в клипперовск..
Обычно в клипперовских программах rddregister() напрямую для dbfntx не вызывается, это происходит автоматически при инициализации приложения. Поэтому смело выкидывайте эту процедуру.
|
|
|
|
| |
Пост N: 9
Зарегистрирован: 15.11.12
|
|
Отправлено: 20.11.12 09:24. Заголовок: Нашел вызовы ф-ции r..
Нашел вызовы ф-ции rddregiste два раза - один раз с параметром DBF другой DBFNTX. Закомментировал. Получил окно при запуске - unrecoverable error 650: Processor stack fault. Про что в инете пишут Бесконечная рекурсия. Дааа. Объясните пожалуйста как пользоватся клипперовским отладчиком. Я так понял это файл CLD.EXE. Но в в версии 5.3 нет такого файла там есть CLDR.EXE - это он? Откомпилировал прогу с ключом /b, запустил CLDR c параметром MYEXE.EXE и получил бяку.. Что то про то что нет такого файла, хотя файл рядом лежит. З.Ы. насколько критичны варнинги приведенные мной в посте №8 ?
|
|
|
Ответов - 67
, стр:
1
2
3
4
All
[только новые]
|
|