On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост 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...

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 67 , стр: 1 2 3 4 All [только новые]





Пост N: 644
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 15.11.12 15:54. Заголовок: yukirin пишет: Подс..


yukirin пишет:

 цитата:
Подскажите пожалуйста где найти данный файлик...

Ищите в папке CLIPPER\LIB.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2
Зарегистрирован: 15.11.12
ссылка на сообщение  Отправлено: 15.11.12 17:48. Заголовок: Хороший ответ... Из..


Хороший ответ...
Изменю вопрос - может ли кто-нибудь поделиться папкой LIB с уже существующей там библ. CE50.LIB, т.к. в том варианте Clipper 5.2e который я скачал данная библиотека отсутствует.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 3
Зарегистрирован: 15.11.12
ссылка на сообщение  Отправлено: 15.11.12 17:54. Заголовок: Кстати ссылку я непр..


Кстати ссылку я неправильную дал - http://softclipper.net/soft-skachat/clipper-5-2e-portable.html - вот по этой ссылке выкачивал. Там было написано "самая стабильная версия со всеми обновлениями и дополнительными библиотеками". А оказалось что не со всеми...

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2548
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.11.12 18:35. Заголовок: yukirin пишет: CE50..


yukirin пишет:

 цитата:
CE50.LIB


Не припомню такой библиотеки
yukirin пишет:

 цитата:
Там было написано "самая стабильная версия со всеми обновлениями и дополнительными библиотеками"


Надо понимать что там библиотеки от Clipper + Clipper Tool и среди них не было ни когда CE50.LIB

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 4
Зарегистрирован: 15.11.12
ссылка на сообщение  Отправлено: 19.11.12 12:05. Заголовок: Нужна помощь в сборк..


Нужна помощь в сборке проекта. У меня имеется голый исходник размером в 28700 строк который мне достался от одного человека со словами - что это единственный существующий текст программы - другого нет. У меня получить работоспособный экзешник не получается - есть два-три десятка функций на которые блинкер ругается как на не существующие внешние ссылки. Что необходимо подключить( библиотеки, include) я не знаю и подобрать не получается. Вполне возможно что исходник подпорченный ( причем специально). Опыт написания на клиппер, как я писал выше, отсутствует вообще. Пишу на с++... В общем прошу помощи в получении хотя бы нормально запускающегося экзешника))). Для откликнувшихся моя почта - yukirin@yandex.ru или пишите вашу - отправлю.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2539
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.11.12 12:15. Заголовок: Дайте список нереали..


Дайте список нереализованных ссылок. Возможно, они из какой-нибудь распространенной библиотеки, которую надо будет прилинковать.

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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

Читал про возможность декомпиляции. Вопрос какова вероятность получения рабочих исходников для возможности дальнейшего сопровождения программы.



Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост 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 ""


Спасибо: 0 
ПрофильЦитата Ответить



Пост 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))

//------------------------------------------------------------------------------------------------//
Где взять эти ООП библиотеки?
Этот класс используется при печати.


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост 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, связанные с библиотекой ООП ?
Я именно такую не вспомню, пересмотрел какие у меня есть ООП-библиотеки

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост 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(..)

Кстати, сырцы похоже получены именно декомпилятором

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 7
Зарегистрирован: 15.11.12
ссылка на сообщение  Отправлено: 19.11.12 15:54. Заголовок: проблема не в исходн..


проблема не в исходнике потому как я нашел эти функции в тексте. Проблема видимо в том что я не правильно поделил сам текст программы на куски . Дело в том что переданный мне исходник шел одним файлом и клипер при компиляции выдавал - to many labels и не создавал объектный файл. Мне посоветовали просто раздробить программу на куски что я не задумываясь и сделал. Как правильно разделить текст на куски?
Можно ли сделать так что бы клиппер при компиляции с ключем /w все предупреждения писал в файл, а то их довольно много и они быстро пробегают по экрану и что там было понять невозможно.
кстати GETREADVAR и POSTACTIVE и др.( кроме ООП ф-ций ) больше не unresolved external. На класс возложена печать, т.е. по идее программа должна у меня запустится без печати - но при запуске получаю - RDDREGISTE(0) Internal error 9002



Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 442
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.11.12 15:55. Заголовок: _NEWCLASS, _ADDMETHO..


_NEWCLASS, _ADDMETHOD, SETCLASS обнаружились в Fivewin.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 443
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.11.12 15:59. Заголовок: yukirin пишет: Можн..


yukirin пишет:

 цитата:
Можно ли сделать так что бы клиппер при компиляции с ключем /w все предупреждения писал в файл, а то их довольно много и они быстро пробегают по экрану и что там было понять невозможно.


clipper.exe my.prg /w >my.log

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2543
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.11.12 16:07. Заголовок: yukirin пишет: Как ..


yukirin пишет:

 цитата:
Как правильно разделить текст на куски?



Поскольку восстановить исходную разбивку не получится, то прийдется разбивать хорошо известным методом проб и ошибок, соблюдая некоторые правила
Например, такое: static-функция должна быть определена в то модуле, откуда есть ее вызов.
Надо либо перенести функцию в тот модуль, либо убрать static


 цитата:
На класс возложена печать, т.е. по идее программа должна у меня запустится без печати - но при запуске получаю - RDDREGISTE(0) Internal error 9002



Попробуйте в скрипт сборки добавить:

library dbfcdx, dbfntx, _dbfcdx


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2544
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.11.12 16:12. Заголовок: alkresin пишет: _NE..


alkresin пишет:

 цитата:
_NEWCLASS, _ADDMETHOD, SETCLASS обнаружились в Fivewin.



Символы подчеркивания вроде бы в именах функций не так расположены. Может другая библиотека ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 444
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.11.12 17:40. Заголовок: Pasha пишет: Символ..


Pasha пишет:

 цитата:
Символы подчеркивания вроде бы в именах функций не так расположены. Может другая библиотека ?


В моей копии objects.lib - именно так.

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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/


Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 445
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.11.12 08:37. Заголовок: Обычно в клипперовск..


Обычно в клипперовских программах rddregister() напрямую для dbfntx не вызывается, это происходит автоматически при инициализации приложения.
Поэтому смело выкидывайте эту процедуру.

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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 ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 67 , стр: 1 2 3 4 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 29
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет