Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.25;
Скачать: CL | DM;

Вниз

Для тех кто пишет компоненты   Найти похожие ветки 

 
Bartov   (2003-01-05 13:01) [0]

Проблема совместимости версий Делфи на лицо и особенно сказывается при работе в Design-Time.
Старшие версии поддерживают младшие, но НЕ оборот.
Как я заметил у многих стоит Делфи 5, 6 и 7. Делфи 2, 3, 4 - уже умерли...
Так что, елси Вы написали на Д6 или Д7, то возникают проблемы у кого Д5.

Отсюда и предложение и вопрос:
Чтоб все писали компоненты на Д5 для совместимости или как решить эту проблему?

Отниситесь пожайлуста к воросу серьезно.
Ведь не многие могут позволить себе поставить сразу несколько версий Делфи, да и зачем это...


 
Gandalf   (2003-01-05 16:29) [1]


> Как я заметил у многих стоит Делфи 5, 6 и 7. Делфи 2, 3,
> 4 - уже умерли...


Согласен, правда если меня сильно попросят я помогу адаптировать свой компонент под иные версии, словом, а может и делом - но на поток, ставить не буду.


> Проблема совместимости версий Делфи на лицо и особенно сказывается
> при работе в Design-Time.


Бесспорно, особенно при написании редакторов свойств. Причем несовместимость во все стороны.


> Отсюда и предложение и вопрос:
> Чтоб все писали компоненты на Д5 для совместимости или как
> решить эту проблему?


Заставлять нельзя и невозможно, а насчет совсестимости, я думаю, кому надо и у кого не работает, в состоянии написать автору и сказать - "помоги". Иного выхода пока не вижу.


 
Bartov   (2003-01-05 21:47) [2]

2Gandalf
Согласен, правда если меня сильно попросят я помогу адаптировать свой компонент под иные версии, словом, а может и делом - но на поток, ставить не буду.

Это называется "кидалово" (без обид), но такая ситуация у всех.
Я заметил, что практически все компоненты написаны на Делфи 5.
Сам ты пишишь на Д5, Владимир Кладов тоже пишит на Д5, а Д6 и Д7(глюкодром) не признает.

Следовательно пусть все пишут на Д5?!...
Это не решение проблемы... и походу ответа не найдем...


 
Gandalf   (2003-01-05 22:10) [3]


> Это называется "кидалово" (без обид), но такая ситуация
> у всех.


Вообще-то, я писал про Версии 1-4, насколько я знаю, все мои компоненты работают под 5-6 (за 7 не ручаюсь, вообще жалоб не поступало). И по мере сил я стараюсь их править под нужды народа, но в конце концов, "колхоз дело добровольное", и компоненты я все таки в первую очередь пишу под себя... потому они под 5 и пашут надежно (у меня 5 версия, по ряду личных причин), но в ближайшее время (опять же по ряду личных причин) перейду на 6-7, и адаптацией под 1-5 буду заниматься, опять же неохотно, а порой и по личному требованию пользовай, к чему мне делать поддержку всех версий, если никто моим компонентом, на версии X не пользуется.


> Следовательно пусть все пишут на Д5?!...
> Это не решение проблемы... и походу ответа не найдем...


Нет, никого переходить на "мою" версию Дельфи не призываю. Каждому свое. Универсального выхода нет, а ввести полною совместимость порой тяжело и что главное не надо. На всех не угодишь, себя лишь навредишь. Свое "решение" сложившийся ситуации я выше изложил...


 
Bartov   (2003-01-05 23:40) [4]

2Gandalf
к чему мне делать поддержку всех версий, если никто моим компонентом, на версии X не пользуется.
Я например пользуюсь, но не всеми, по мере надобности.

Меня сегодня целый день мучал вопрос, под какой Делфи писать и все же выбрал Д7.


 
lamachok   (2003-01-06 03:38) [5]

как правильно было замеченно на всех неугадишь .... все равно у кого то не будет работать.... да и всех не заставишь писать на 5 ... хотя я согласен что надо писать на 5, чтобы подходило и к 5 и к 6 и к 7 - как самые распространненые ... хотя ведь есть те кто пользуется 3 и 4 и как быть с ними????


 
SPeller ©   (2003-01-06 07:22) [6]

Работа в Run-Time в различных версиях Дельфей практически не отличается, поэтому функциональная начинка страдать не будет, проблема лишь при установке компонент и редаторов свойств. Отсюда вижу 3 выхода:
1) Поставить несколько Дельфей;
2) Договориться с кем-либо, у кого иная версия Д об адаптпции под эту версию;
3) Хранить/запомнить наиболее часто встречающиеся различия, и после разработки отправлять кому-либо тестировать. Опять же, если у тебя нет нужной Д, то придётся искать человека для помощи в этом вопросе.

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


 
Gandalf   (2003-01-07 14:00) [7]


> 1) Поставить несколько Дельфей;


Неудобно...


> 2) Договориться с кем-либо, у кого иная версия Д об адаптпции
> под эту версию;
> 3) Хранить/запомнить наиболее часто встречающиеся различия,
> и после разработки отправлять кому-либо тестировать. Опять
> же, если у тебя нет нужной Д, то придётся искать человека
> для помощи в этом вопросе.


Собственно я так и делаю. Только у меня знакомые с Д6. Ну и наиболее частые приемы я тоже выделил...


 
Bartov   (2003-01-07 15:11) [8]

2lamachok
... хотя ведь есть те кто пользуется 3 и 4 и как быть с ними????
Старую лошадку в упряжку не запрягают. И с ними очень моного будет проблем при создании свойств. А в Д5,6,7 хоть есть различия, но много схожего.

2SPeller
Работа в Run-Time в различных версиях Дельфей практически не отличается, поэтому функциональная начинка страдать не будет, проблема лишь при установке компонент и редаторов свойств.
Да, но демку написанную на Д7 и Д6 ты не запустишь на Д5, ЕСЛИ НЕ УДАЛИШЬ пару свойств из ресурсов формы (untix.dfm).
Сегодня займусь проблемой совместимостии, может что и напишу...

2Gandalf
Собственно я так и делаю. Только у меня знакомые с Д6.
А когда на Д7 перейдешь? Я уже на нее перешел.

Ну и наиболее частые приемы я тоже выделил...
А не мог бы ты мне эти примеры на мыло залить?!

И плохие новости:
Хинтов в KOL не будет и SysDcu для Д7, тоже не будет.


 
Gandalf   (2003-01-07 21:30) [9]


> Хинтов в KOL не будет и SysDcu для Д7, тоже не будет.


Откуда такая увереность?!


 
Bartov   (2003-01-07 23:09) [10]

2Gandalf
Откуда такая увереность?!
Владимир Кладов так мне написал. И скоро будет KOL 1.60

Дим, если ты их сделаешь - это будет хорошо!!!


 
Art ©   (2003-01-07 23:26) [11]

Это хорошо что сей ништяковский продукт будет адаптирован для D7, я им пользоваться начал совсем недавно (в этом году) и скажу сразу весчь незаменимая, лучше чем на вин апи долбить и проги меньше чем на VCL, но многие компоненты на D7 действительно гонят, например сам KOL&MSK поддерживает D7, а например MHAboutDialog нет, хотелось бы полной совместимости - типа проинстолил и все, а то я даже друзьям предложить не могу они только начинают программить и таких проблем просто не вынесут.


 
Gandalf   (2003-01-08 23:55) [12]


> Дим, если ты их сделаешь - это будет хорошо!!!


Сделаем.


> например сам KOL&MSK поддерживает D7, а например MHAboutDialog
> нет, хотелось бы полной совместимости - типа проинстолил


Плохо. А в чем проблемма?


 
Bartov   (2003-01-09 01:15) [13]

2Gandalf
Ну это наверное надо пакет напсать, а то не знают еще как это делается ;-)


 
Art ©   (2003-01-09 01:20) [14]

Аха, а проект хороший.


 
Vladimir Kladov   (2003-01-10 07:17) [15]

(Хинтов в KOL не будет и SysDcu для Д7, тоже не будет.)
Почему же так? Может кто осмелится да сделает. Всего-то вечерок
потратить.

(Ну это наверное надо пакет напсать, а то не знают еще как это
делается ;-))
По идее, пакет от Д6 должен бы вообще без изменений подойти в Д7. В пакете для Д5 скорее всего хватит добавить designide.dcp в секцию uses.

Поэтому лучше всего пакет давать собранный для Д5 - будет
совместимость снизу вверх.

А что, D7 уже перестал глючить в окне cpu? В принципе, мне и D6
достаточно. Если бы не потребность заюзать MMX в асм-вставках, мне бы и Д5 хватило. Хотя... куда это TSpinEdit/TSpinButton в D6 пропал. Без всякого предупреждения от Инпрайс причем.


 
Bartov   (2003-01-10 17:13) [16]

2Vladimir Kladov
Хотя... куда это TSpinEdit/TSpinButton в D6 пропал.
Не знай, у меня Д6 когда-то была и они там были. Это я помню, потомучто их в курсаче использовал!!! Скорее всего у Вас какая-то урезанная версия. А проще всего это узнать - запустить хелп и ввести TSpinEdit/TSpinButton. Или при установки Samples не поставились ;-)
И на крайний случай, их с Д5 в Д6 можно перекопировать и установить и все.

А что, D7 уже перестал глючить в окне cpu?
У меня работает нормально... Пример можно этих глюков?!

и SysDcu для Д7, тоже не будет.)
Почему же так? Может кто осмелится да сделает. Всего-то вечерок
потратить.

Ага, Вы суть толком объясните, как делать их, я бы взялся. Потомучто если взять SusDcu от Д6 и переделать в Д7, то это не правильное решение. Или я не прав?


 
SPeller ©   (2003-01-13 09:45) [17]


> Ага, Вы суть толком объясните, как делать их, я бы взялся.
> Потомучто если взять SusDcu от Д6 и переделать в Д7, то
> это не правильное решение. Или я не прав?

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


 
Vladimir Kladov   (2003-01-14 07:14) [18]

TSpinEdit в хэлпе только про Cylix. Найти TSpinButton не судьба: при попытке запуска справки на поиск говорит, что память кончилась. 256М ему мало.

Глюк в cpu: достаточно остановиться где угодно в kol.pas и попробовать там F8. Код из исходника, который там показывается, на 2 строки сдвинут. В принципе, та же картинка и без cpu. Синие точки стоят не напротив оттранслированных строк, а на две выше. И по ним же шагает отладчик. Страшно неудобно.

Надо не от D6 system.pas брать, а от D7. Смотреть на список изменений, сделанных в замене для D6, и исправлять system от D7. Та еще работка.


 
Vladimir Kladov   (2003-01-14 07:16) [19]


> Для этого нужны исходники библиотек системных. Если в них
> переделать код, то потом уже просто будет - скомпилировать
> и засунуть в нужную папку.

Исходники лежат в Source\Rtl\Sys\. У кого нет исходников - не надо мучиться, для перекомпиляции все равно нужна полная версия со всеми исходниками VCL.


 
Bartov   (2003-01-14 22:39) [20]

Глюк в cpu: достаточно остановиться где угодно в kol.pas и попробовать там F8. Код из исходника, который там показывается, на 2 строки сдвинут. В принципе, та же картинка и без cpu. Синие точки стоят не напротив оттранслированных строк, а на две выше. И по ним же шагает отладчик. Страшно неудобно.


Да, это так!!!
Но у меня, это происходит только для asm вставок, а pascal код все нормально. Наверно в Borland решили, что все забыли как писать на asm?!
Может кто знает, как избавится от этого глюка в Д7?

Да и вообще, че-то Д7 - карявая какая-та..., подождем Д8...
Д5 - это вещь!!!


 
Avenger [NhT]   (2003-01-15 01:29) [21]

Накатал SysDcuD7 кому надо обращайтесь...
Проги от 5.5 кил!
Скоро будут и хинты :)


 
Bartov   (2003-01-15 11:14) [22]

2Avenger [NhT]
Накатал SysDcuD7 кому надо обращайтесь...
Если не трудно отошлите на Мастак и Кладову.


 
Bartov   (2003-01-15 13:41) [23]

2Avenger [NhT]
И мне пришли, исходники и DCU


 
Bartov   (2003-01-16 00:40) [24]

Походу SysDcu for D7 Не будет?!


 
Avenger [NhT]   (2003-01-16 01:10) [25]

http://www.netcrack.by.ru/SysDcuD7.rar
Вот линк...пока бетка


 
Bartov   (2003-01-16 01:18) [26]

Ага, а когда Finall будет?


 
Bartov   (2003-01-16 01:50) [27]

2Avenger [NhT]
4. Готово! Теперь вы можите писать программы размером от 5632 байт!

Мда..., вот не задача....
Exe (чистая форма) компилится на 15360, а вот при запуску выдается ошибка - вылазит окно CPU. Хе-Хе, видно до финала далеко...


 
Avenger [NhT]   (2003-01-16 22:39) [28]

Хм..
я не пробовал проги компилить под кол там...
но вцл с заменой работают!


 
Avenger [NhT]   (2003-01-18 00:34) [29]

Залили нов. версию
И еще компонент: http://www.netcrack.by.ru/md5.rar


 
Bartov   (2003-01-18 07:29) [30]

2Avenger [NhT]
Вот теперь работает нормально (SysDcu7)!!!
Когда полный релиз выложишь?


 
Avenger [NhT]   (2003-01-19 02:38) [31]

Надо чтоб хотябы чел 10 с недельку с ним поработали...
А на 7 никто некодит ;)


 
Kladov   (2003-01-19 13:05) [32]

идеальный вариант, раз уж вы его сотворили - у вас и оставить. вдруг вы его обновить задумаете. а линк дам с удовольствием. Только желательно, чтоыб в zip"е было, не все rar"ом пользуются.

А как финал будет, можно и ко мне копию забросить. Хотя с запада жалуются, что мой сайт для них медленный :)

На бету тоже могу ссылку дать. А то сколько еще ждать пока 10 чел наберется.

Кстати, насчет совместимости (продолжая начальную тему). Есть совместимость форм сверху вниз. Формы из d6 и d7 без проблем открываются в d5. Но! если только не содержат строковых ресурсов в unicode. А если форма разработана на русском, то - уже содежит.


 
Bartov   (2003-01-20 01:18) [33]

2Kladov
Есть совместимость форм сверху вниз. Формы из d6 и d7 без проблем открываются в d5. Но! если только не содержат строковых ресурсов в unicode. А если форма разработана на русском, то - уже содежит.

Так в чем проблема то?
Написал я прогу(на Д7, попозже переведу на KOL), которая в указанном каталоге ищет *.dfm и в них меняет Caption = #1099#1095... на русскую строку. Все просто... И если потом в Д7 не менять Caption, то Д7 ничего менятся не будет.

Вот ф-ция:
function Unic2Str(Str: string): string;
var
x, z: Integer;
tmp: string;
begin
x := Pos("#", Str);
repeat
tmp := Str[x + 1] + Str[x + 2] + Str[x + 3] + Str[x + 4];
Delete(Str, x, 5);
z := StrToInt(tmp) - 848;
Insert(Char(z), Str, x);
x := Pos("#", Str);
until x = 0;

x := Pos("""", Str);
repeat
Delete(Str, x, 1);
x := Pos("""", Str);
until x = 0;

Result := Str;
end;


function isUnicStr(Str: string): Boolean;
var
x: Integer;
begin
Result := FALSE;
x := Pos("#", Str);
if x > 0 then
if (x + 4) >= Length(Str) then
if (Str[x + 1] in ["0".."9"]) and (Str[x + 2] in ["0".."9"]) and
( Str[x + 3] in ["0".."9"])
2Kladov
Есть совместимость форм сверху вниз. Формы из d6 и d7 без проблем открываются в d5. Но! если только не содержат строковых ресурсов в unicode. А если форма разработана на русском, то - уже содежит.

Так в чем проблема то?
Написал я прогу(на Д7, попозже переведу на KOL), которая в указанном каталоге ищет *.dfm и в них меняет Caption = #1099#1095... на русскую строку. Все просто... И если потом в Д7 не менять Caption, то Д7 ничего менятся не будет.

Вот ф-ция:
function Unic2Str(Str: string): string;
var
x, z: Integer;
tmp: string;
begin
x := Pos("#", Str);
repeat
tmp := Str[x + 1] + Str[x + 2] + Str[x + 3] + Str[x + 4];
Delete(Str, x, 5);
z := StrToInt(tmp) - 848;
Insert(Char(z), Str, x);
x := Pos("#", Str);
until x = 0;

x := Pos("""", Str);
repeat
Delete(Str, x, 1);
x := Pos("""", Str);
until x = 0;

Result := Str;
end;


function isUnicStr(Str: string): Boolean;
var
x: Integer;
begin
Result := FALSE;
x := Pos("#", Str);
if x > 0 then
if (x + 4) >= Length(Str) then
if (Str[x + 1] in ["0".."9"]) and (Str[x + 2] in ["0".."9"]) and
(Str[x + 3] in ["0".."9"]) and (Str[x + 4] in ["0".."9"]) then
Result := TRUE;
end;


 
Bartov   (2003-01-20 01:42) [34]

2ALL
Я тут еще подумал чуток, стоит ли писать программку на KOL для перевода в dfm"и unicode в string или сами напишити?

2Kladov
Хотя с запада жалуются, что мой сайт для них медленный :)
Насколько я помню отослал Вам компонент(обновление), Вы его месяц выкладываете... ;-)

И че-то иходники SysDcu для Д5 и Д6 не компилятся...


 
Avenger [NhT]   (2003-01-20 02:09) [35]

Сайт медленный это точно..
Все компилится...я пришлю завтра-послезавтра тебе сурсы..
А вот насчет перекодировщика, то был в кладовке такой если надо то вышлю сурс..могу также перекодить на кол, авл, акл или на апи(быстро не ждите :) но там есть несколько багов, да и основа изменилась, были траблы с BiDiMode


 
Bartov   (2003-01-20 08:23) [36]

2Avenger [NhT]
Ждемс... Ты мое письмо получил?


 
tamerlan311 ©   (2003-01-20 14:47) [37]

я програмлю на D7 и в принциме мог побыть бета-тестером этого пакета, но незнаю как получится со временем , и я потихоньку сползаю на API!



Страницы: 1 вся ветка

Текущий архив: 2003.09.25;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.029 c
14-82443
uw
2003-09-05 15:57
2003.09.25
Ум без книг, аки птица спешена


6-82358
Davinchi
2003-07-27 22:07
2003.09.25
Одновременная работа TWebBrowser and Word2000


14-82462
Омлет
2003-09-07 17:07
2003.09.25
Именинники 7 сентября !


3-82119
dream
2003-09-04 15:47
2003.09.25
Каким образом можно работать с 2 файлами баз данных ?


4-82537
DarkWale
2003-07-24 14:36
2003.09.25
состояние CheckBox