On-line: SergKis, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
постоянный участник


Пост N: 280
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 07.11.09 14:03. Заголовок: Delphi Run-Time for [x]Harbour (размышления).


Здравствуйте.

Все-таки не покидает меня мысль о том, что было бы очень неплохо организовать Delphi Run-Time для [x]Harbour. В очередной раз мысль вернулась в связи с выходом Delphi2010. В этой версии сняты ограничения по rtti-доступу даже к private-секциям классов и т.д., что делало бы задачу еще проще.

Собственно, сейчас пожалуй, я могу четче сформулировать, что я имею в виду, и даже немного проиллюстрировать.

Вообще, предоставление Дельфи ран-тайма не-дельфи инструменту, не является какой-то уникальной мыслью. Например, инструмент, написанный Алексеем Волковым - Script Builder. Он и будет иллюстрацией того, что я имею в виду под Delphi Run-Time.

Script Builder - это Delphi Run-Time для Microsoft Active Scripting (VBScript, JavaScript, ActivePerl, ActivePython). Скачать его можно с:

http://www.volkoff.ru/file_download/4/sbpro.exe

Script Builder написан на Delphi5 довольно давно (2000-й год) и имеет немного старомодный интерфейс. Но если вы его скачаете и немного "пощупаете", то увидите, что это продукт более качественный, чем те же Xailer или тем более Visual xHarbour. А по уровню предоставляемого ран-тайма и его расширяемости и сравнивать нечего, это, собственно, дельфи.

Так вот, под "Delphi Run-Time for [x]Harbour" я подразумеваю аналогичный (но более современный инструмент) для [x]Harbour, который полностью поддерживал бы Unicode (имею в виду визуальные компоненты).

-----

Реализация. Ясно, что начинать надо с 2-x сторон. 1) Delphi-часть, сначала собственно ран-тайм, здесь в общем-то все понятно и я могу это реализовать. 2) [x]Harbour-часть, здесь необходима некоторая библиотека, которая бы обеспечивала прозрачный доступ к классам, объектам Дельфи и делала бы их частью своего языка. Здесь моих знаний [x]Harbour явно не хватит. То есть, одному мне такой проект не поднять...

Поэтому и пишу Паша, Григорий, Петр и другие уважаемые форумчане! Что вы думаете об этом? О возможном своем участии?

Жду ваши комменты

Спирин Сергей.

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


постоянный участник


Пост N: 747
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 10.11.09 00:45. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Да. Точно. Это просто удобная паскалевская обертка. Просто надо будет подумать как обернуть


[x]Harbour поддерживает битовые операции - hb_bit*(). Также нужны соответствующие include файлы #define что-то там


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 289
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 10.11.09 01:01. Заголовок: Петр пишет: Все так..


Петр пишет:

 цитата:
Все таки - нужно писать классы обертки? Переопределять хотя бы основные методы. Остальное можно через OnError



Ну что-то, наверное, типа того. Дизайн-тайм просто этого требует. Обработчики событий не просто же процедурами делать, как-то это "не кудряво"...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 290
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 10.11.09 02:01. Заголовок: Петр пишет: Harbour..


Петр пишет:

 цитата:
[x]Harbour поддерживает битовые операции - hb_bit*(). Также нужны соответствующие include файлы #define что-то там



Да, создание текстов #define-ов, похоже, еще одна работа для Delphi-создателя шаблонов

А вообще над множествами (set) в Delphi возможны такие операции как:

if biMinimize in BorderIcons then...

BorderIcons := BorderIcons + [biMinimize]

BorderIcons := BorderIcons- [biMinimize..biMaximize]

То есть, проверка на вхождение, объединение, пересечение..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 151
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.11.09 21:18. Заголовок: Например, инструме..



 цитата:
Например, инструмент, написанный Алексеем Волковым - Script Builder. Он и будет иллюстрацией того, что я имею в виду под Delphi Run-Time.


Вообще, не разделяю Вашего восторга по поводу творения Волкова. Да он и сам считает проект не законченным. Я пробовал на Script Builder реальные программы писать.
Глючный и не предсказуемый инструмент. Идентичные конструкции работают в Делфе - не работают в Script Builderе. И таких примеров было полно.
Что получит от этого симбиоза Нарбоар и получит ли неизвестно ( точнее программисты). Но то, что скорость разработки упадёт в несколько раз - это факт.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 292
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 11.11.09 23:11. Заголовок: Vlad04 пишет: Вообщ..


Vlad04 пишет:

 цитата:
Вообще, не разделяю Вашего восторга по поводу творения Волкова.



Похоже, Вы явно не уловили обсуждаемую здесь "идею". Уж, конечно, Script Builder тащить в Харбур никому и в голову не приходило. Script Builder использовался как иллюстрация принципиальной портируемости ран-тайма дельфи даже в сильно младших версиях.

Vlad04 пишет:

 цитата:
Идентичные конструкции работают в Делфе - не работают в Script Builderе.



Конструкции языка? Тык Вы использовали в нем DelphiScript? Так это явно, какая-то реализация скрипта от самого Алексея, DelphiScript - какого-то стандарта или общепризнанной реализации в принципе не существует, думаю также как и С++ Script

То есть, DelphiScript в SB ну никакого отношения к Delphi run-time не имеет. Да и как можно сравнивать творчество одного человека со всей Дельфи-историей. Думаю, если бы вы использовали бы например JavaScript в SB, то результаты были бы явно лучше, так как производством этого скриптового языка занимается солидная корпорация.

Ну, а у нас эту нишу занимает сам [x]Harbour, нам никакие скрипты не нужны, у нас уже есть Тоже наверно небезглючный и с дельфи трудно сравнимый, но все-таки




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 293
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 12.11.09 21:04. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Что будет в Delphi run-time? Смотрю Delphi7, 2010 у меня еще нет:

rtl70.bpl - 780 KB
vcl70.bpl - 1.3 MB
vcldb70.bpl - 270 KB
Harbour70.bpl - 150 KB
+ какие-то библиотеки, используемые пользователем



Смотрю Delphi2010 и, честно говоря, увиденное мне все больше и больше нравиться

Размер ран-тайма действительно ожидаемо увеличился, но явно не катастрофически:

rtl140 - 1,7 MB
vcl140 - 2,4 MB
dbrtl140 - 0,4 MB
vclx140 - 0,25 MB
vcldb140 - 0,3 MB
Ну, возможно еще что-то потребуется, это надо смотреть.
----
Остальное по желанию, например ADO
adortl140 - 176 KB
и т.д.
----------

Теперь о нововведениях в RTTI. Действительно, терерь можно говорить о полном Reflection. Кстати, новый демо-пример с этими возможностями так и называется: "Reflection Browser". В нем как раз демонстрируется полная энумерация всего прямо от корня - TObject (вопрос про горизонтальный обход в потенциальном шаблонщике ). Пример бросил сюда, можно посмотреть:

http://www.paritetsoft.ru/downloads/rtti_browser.rar

Можно порассуждать абстрактно . А какие еще есть солидные системы с полным рефлекшн, которыми мы могли бы воспользоваться? В общем то, на ум приходит еще только 2 варианта - .NET и Java...

Яву, как вариант, я думаю можно отмести сразу. Клипперисты "склонны" к созданию клиентских приложений, а в Яве это тупиковая ветка (свинги). Вся мощь и красота Явы в web-приложениях и web-технологиях, что все-таки далековато от классического клипперного представления о мире И как это "скрестить" не ясно.

.NET... Не знаю, насколько возможно полноценное использование .NET из не-NET приложения.. Предположим, что возможно и не сложнее чем использовать дельфи ран-тайм... В этом случае .NET выглядит предпочтительней. .NET еще больше и солидней чем Дельфи. .NET развивается бешенными темпами (в жесткой схватке с Явой). .NET фактически уже часть Windows, поэтому не требует доп установок и т.д. На сегодняшних, а тем более завтрашних машинах разница в производительности с native-кодом уже не так важна, а безопасность кода на десять порядков выше, чем у native-кода...

Но Есть один забавный нюанс Все языки под .NET - это всего лишь синтаксические оболочки над .NET-машиной Например, сейчас Delphi.Net (Prizm) просто устананавливается как плагин в Visual Studio и все, поехали! А идеологию подходов диктует именно .NET-машина, сводя разницу языков лишь к лексическим нюансам

В контексте этого, Harbour(Clipper) со своим весьма специфичными взглядами на устройство БД и работы с БД, выглядит в связке с .NET даже как-то диковато Взгляды специфичны, конечно, в контексте сегодняшнего дня, а не 20-летней давности...

Отсюда, думаю, что все-таки наболее органичное решение - это native Win32(64) ран-тайм

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

Ну и еще вопрос про жизнесобность Харбура. Не получится ли это все "мертвому припарка"? Ну или не мертвому.., а "припарка последним производителям софта для учета домофонов"?

---------------

И последнее, в лоб либа для фаст под D2010 не работает, причина - Unicode. То есть, код весь придется проходить и адаптировать. Петр, в связи с этим вопрос, при обработке Harbour API уже как-то закладываться на возможный Unicode, либо пока бог с ним? Что посоветуете?



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 960
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.11.09 23:03. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
"припарка последним производителям софта для учета домофонов"?



Причем тут ЭТО ?
Берите большие системы, типа БЭСТ 4+ или 5... Да и другие есть наверно...
Сюда ведь не я один заглядываю ?



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 294
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 13.11.09 00:26. Заголовок: Andrey пишет: Приче..


Andrey пишет:

 цитата:
Причем тут ЭТО ?



Андрей, ну это же шуточная аллегория-обобщение Кстати, гляньте в GUI тему "Глюки при прорисовке формы...", там тоже что-то про домофоны. Поэтому аллегория родилась сама собой

Andrey пишет:

 цитата:
Берите большие системы, типа БЭСТ 4+ или 5... Да и другие есть наверно...



Ох , Андрей, не напоминайте мне про мучения и конвульсии старых производителей бухсофта. Я сам из "отмучившихся" и эту проблематику хорошо знаю. Это тоже домофонщики



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 748
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 13.11.09 01:04. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Пример бросил сюда, можно посмотреть


Не посмотрел - у меня почему-то выскакивает "Поврежден заголовок", но это не так важно.

 цитата:
какие еще есть солидные системы с полным рефлекшн


В том или ином виде reflection поддерживает куча языков, в т.ч. [x]Harbour. Не всем нужен полный reflection, да и предназначен он пока для задач специфических.
А потом, что считать "солидной системой" в 2010 году? ИМХО эта система должна быть ориентирована на разные платформы (архитектура процессора + ОС) в т.ч. и 64bit, Unicode (и не только в варианте от MS), обязательно иметь встроенный garbage collector, поддерживать тот же reflection, иметь удобную RAD среду (Visual Studio ) и т.д. и т.п. (позвольте не оглашать весь список ).
Но у каждого свое ИМХО и каждый найдет в этом перечне те вещи, которые нужны в первую очередь, и те вещи на которые даже не обратит внимание. Так что оставим эти разговоры для специализированных форумов - там всегда найдется желающий начать "священную войну", типа я vs all world.
Sergey Spirin пишет:

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


Можно, вовсе не сложно. На сколько полноценно - не знаю. Примеры были где-то на codeproject.

 цитата:
NET развивается бешенными темпами


Да и бог с ним, C# на компе установлен , но вообще то MS обещала не интеграцию Net в ОС, а ОС на базе Net, но пока что ни Win 7, ни следующая обьявленная ОС таковыми не будут. А то что каждая последующая версия Net частично несовместима с предидущей - это факт.
Так что поддерживаю вашу мысль, что пока таки да - наболее органичное решение native Win32(64) ран-тайм. Тем более что проект Clipper over .Net уже вроде существует - Vulcan.Net.

Sergey Spirin пишет:

 цитата:
Ну и еще вопрос про жизнесобность Харбура.


Вы знаете в котором году умер Clipper? Многие скажут, что он не умирал вообще. Спорить не буду, но последние обновления были выпущены где-то в 1996 году (не ошибся?). Даже если бы сейчас разработка Harbour прекратилась (чего не наблюдается) пользоваться ним будут еще не меньше времени.


 цитата:
при обработке Harbour API уже как-то закладываться на возможный Unicode, либо пока бог с ним?


Ну знаете, Delphi вон тоже совсем недавно разжился на Unicode
Ну это шутка. Реально тут вопрос больше в совместимости Harbour и xHarbour, и насколько быстро будут расходиться их API, внутреннее обустройство, пути развития. Сделайте среди своих пользователей маркетинговое исследование и тогда принимайте решение на какой сегмент ориентироваться (хотя понятно, что желательно не потерять ни одного, но и поддерживать 3 продукта вместо 2 тоже, наверное, не хочется.). Думаю время у вас пока есть.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 295
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 13.11.09 02:24. Заголовок: Петр пишет: у меня ..


Петр пишет:

 цитата:
у меня почему-то выскакивает "Поврежден заголовок",



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

Петр пишет:

 цитата:
В том или ином виде reflection поддерживает куча языков, в т.ч. [x]Harbour.



Ну это то свойство архитектуры, что называется "по-задумке" Для Дельфи же это необычно, так как это native код.

Петр пишет:

 цитата:
А потом, что считать "солидной системой" в 2010 году?.....

Так что поддерживаю вашу мысль, что пока таки да - наболее органичное решение native Win32(64) ран-тайм.



Ok.

Петр пишет:

 цитата:
Ну знаете, Delphi вон тоже совсем недавно разжился на Unicode....



Хорошо. О Харбор-unicode пока не думаю. Будет это существенно, к этому вернемся.

На следующей неделе постараюсь сделать некий рабочий прототип. Тогда можно будет "пощупать" и обсудить конкретику архитектуру Harbour-части.


P.S. Паша, а что-то Вы не подключаетесь к обсуждению? Насколько я помню, у Вас же был какой-то Дельфи-опыт?



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




Пост N: 1227
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 13.11.09 10:48. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
P.S. Паша, а что-то Вы не подключаетесь к обсуждению? Насколько я помню, у Вас же был какой-то Дельфи-опыт?



Это было очень уж давно. Последний раз я программировал на Дельфи году в 2001-м, а запускал - году в 2003-м. Уже и подзабыл его. На чем работаешь - то и знаешь. Когда писал на паскале - подзабыл клиппер, а теперь наоборот.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 296
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 13.11.09 14:01. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Пример бросил сюда, можно посмотреть:

http://www.paritetsoft.ru/downloads/rtti_browser.rar



Перевыложил и проверил, можно смотреть.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 319
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 20.03.10 13:01. Заголовок: Хочу сказать, что не..


Хочу сказать, что не забыл о данной теме.

К сожалению, все сложилось так, что я физически не мог заниматься DRT for [x]Harbour.

Но планирую, что к апрелю время у меня должно появиться и я обязательно к этому вернусь.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 320
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 20.03.10 15:09. Заголовок: Вот все-таки думаю, ..


Вот все-таки думаю, что очень плохо, что у меня нет напарника-дельфиста. При его наличии, дело бы могло двигаться и быстрее, а главное стабильней.

Я, конечно, понимаю, что в среде клипперистов-харбуристов "приличного" дельфиста мне найти почти невозможно....

Но вот я думаю - я ведь могу и научить (!). Я - опытный дельфист, к тому же у меня есть опыт преподавания программирования в университете. Я ведь такого потенциального партнера могу и в OOП ввести, и с указателями работать научить, помочь всю мощь VCL понять и т.п., то есть, прояснить все то, с чем обычно у клипперистов проблемы...

Никто не хочет освоить еще один язык и поучаствовать в приличном проекте? Проект то гибридный, отрыва от Харбура не будет.

Жду отклика


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1157
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.03.10 22:03. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:

Никто не хочет освоить еще один язык и поучаствовать в приличном проекте?


Можно было бы поучаствовать... Только я Дельфи могу только устанавливать.... И все....

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




Пост N: 1446
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.03.10 23:44. Заголовок: Andrey пишет: Тольк..


Andrey пишет:

 цитата:
Только я Дельфи могу только устанавливать.... И все....


Тогда будешь таджиком - дворником

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1159
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.03.10 12:48. Заголовок: Dima пишет: таджико..


Dima пишет:

 цитата:
таджиком - дворником


Ну если не устраивает... То сам включайся в работу...
Будешь китайцем-подмастерьем ....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 322
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 22.03.10 13:39. Заголовок: Andrey пишет: Можно..


Andrey пишет:

 цитата:
Можно было бы поучаствовать... Только я Дельфи могу только устанавливать.... И все....



Ну, совсем с нуля, это, конечно, чересчур для серьезного проекта... Увы, к сожалению..

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





Пост N: 129
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 23.03.10 15:58. Заголовок: Может поляки смогли ..


Может поляки смогли бы в этом помочь?
http: //www. otc.pl/

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



Пост N: 3
Зарегистрирован: 14.03.10
ссылка на сообщение  Отправлено: 11.04.10 22:52. Заголовок: Хотел бы поучаствовать


Идею можно реализовать.
Как это делается, можно подсмотреть у самого делфи.
При добавлении ActiveX в проекты делфи конвертирует информацию об объектах из dll и ocx в pas, на основе аналога RTTI.
По аналогии можно сделать конвертирование RTTI в PRG.
Причем делать это нужно на основе конвертирования VCL в ActiveX, при котором производятся практически все необходимые преобразования, останется только доработать напильником.
Delphi знаю хорошо, но вот с клипером-харбором (с кораблем и гаванью) только начинаю знакомиться.
К сожалению, использую TurboDelphi в котором поддержка ActiveX отсутствует.
К следующему воскресению тоже постараюсь состряпать прототип.


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

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