Форум » [x]Harbour » Delphi Run-Time for [x]Harbour (размышления). » Ответить

Delphi Run-Time for [x]Harbour (размышления).

Sergey Spirin: Здравствуйте. Все-таки не покидает меня мысль о том, что было бы очень неплохо организовать 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 явно не хватит. То есть, одному мне такой проект не поднять... Поэтому и пишу Паша, Григорий, Петр и другие уважаемые форумчане! Что вы думаете об этом? О возможном своем участии? Жду ваши комменты Спирин Сергей.

Ответов - 121, стр: 1 2 3 4 5 6 7 All

Alexey Volkov: Наиль пишет: Хотя на этот вопрос отвечать Алексею, но мне кажется, что если начать с XBScript, то уже в этом году мы увидим полноценно работающий вариант, хотя и интерпетируемый, а не компилируемый. Без него конечно можно обойтись, но учитывая специфику SB, создание связки SB-Harbor равносильно приделыванию паровозу крыльев. Может и полетит, а может и нет. Ну, вы не далеки от истины. Да, интерпретируемый можно получить очень быстро. Встроенную user-form инфраструктуру в готовое приложение - тоже. Но народ хочет получить средство разработки, в котором и нативный код, и визуальные объекты взаимно интегрированы. Тут надо понять, что полностью компилируемое приложение получить не получится. Для этого нужно создать аналог C++ builder. А вот "гибридное" решение с возможностью работы в одном IDE - нативные модули + визуальные модули со скриптом под ними - не сразу, но решаемо, в рамках имеющейся функциональности и заложенной возможности расширения. Из серьёзных проблем вижу только отладку нативного кода.

Петр: Наиль пишет: Хотя на этот вопрос отвечать Алексею, но мне кажется, что если начать с XBScript Поскольку Алексей уже вроде ответил, позволю и себе высказаться. Прежде всего Наиль определитесь - какую вы сторону представляете Harbour или Delphi и, как уже вам сказали, изучайте предметную область. Если вы начнете с XBScript, то им можете и закончить. Q. What is the cost of XBScript? A. XBScript is free of cost, anyone can download it free of cost from: http://www.xHarbour.com. Commercial versions (Professional and Enterprise are also -- Q. Can I distribute it freely? A. No, you are not allowed to distribute xbScript itself it in any form. You may freely distribute scripts of of any form, including html and asp pages. Во вторых XBScript есть чисто xHarbour -ский прибамбас. А кто-то писал, что на данный момент важно привлечь как можно больше соУчастников проекта.

Sergey Spirin: Alexey Volkov пишет: Тут надо понять, что полностью компилируемое приложение получить не получится Алексей, а расскажите чуть подробнее, почему ваш дизайнер форм и редактор кода так жестко "приколочены" к ActiveScript? Почему нет возможности просто генерить dfm-ки и сохранять их в файлы? В принципе же, это все, что нужно, далее, просто последовательно запускаются Харбор и С компиляторы, dfm-ки зашиваем в ресурсы полученного exe-шника, и просто его запускаем. А наш run-time с этими dfm-ками уже разбирается... Петр пишет: Если вы начнете с XBScript, то им можете и закончить. Добавлю еще, что производитель XBScript тот же, что и xHarbour Builder. Это такое IDE для xHarbour, но качество которого не выдерживает ну никакой критики. Почему проблема IDE столь и актуальна. Alexey Volkov пишет: Из серьёзных проблем вижу только отладку нативного кода. Ну, здесь надо смотреть, какие средства отладки есть в Харборе и писать взаимодействие с ними.


Alexey Volkov: Sergey Spirin пишет: Алексей, а расскажите чуть подробнее, почему ваш дизайнер форм и редактор кода так жестко "приколочены" к ActiveScript? Почему нет возможности просто генерить dfm-ки и сохранять их в файлы? Потому что решалась именно эта задача. Вынос настраиваемой логики (dfm+скрипт) из екзешника в структурированное хранилище рядом с ним. Хранилище определяет иерархическую объектную модель апплета, контроль времени жизни, области видимости элементов, каждый элемент по сути и класс и экземпляр, агрегирующий в себе свойства VCL-формы, методы скрипта и мета-свойства самого элемента (которые можно расширять). Есть возможность сохранять текущее ран-тайм состояние и восстанавливать в новом сеансе. Этого нет в Дельфи, простым "прошиванием" в ресурс это не решить, и мне кажется было бы неразумно от этого отказываться. Но если вам именно цельный екзешник нужен, то SB тут не помошник. надо искать простой дизайнер форм и писать своё решение.

Andrey: Alexey Volkov пишет: Но если вам именно цельный екзешник нужен, то SB тут не помошник. надо искать простой дизайнер форм и писать своё решение. Как разработчик, я настаиваю на цельном EXE-нике ! Ну пару-тройку DLL можно в придачу. Но больше ни-ни. И так замучился высылать обновления своей программы...

Alexey Volkov: Тогда вот дизайнер: http://www.econtrol.ru/formdsn_r.html 350 баксов. Думаю, склепать IDE из этого не составит труда. Формы линковать в ресурс, тогда штатные конструкторы работать будут. На автоматические прокси-классы я ссылки давал. Через OleVariant работать будет. Насчёт обработки событий - надо у автора узнавать, он вроде собирался какой-то универсальный прокси для событий написать, если новый RTTI это позволит. Andrey пишет: И так замучился высылать обновления своей программы... Прелесть SB в том, что единожды установив движок (набор бинарников отдельной универсальной инсталляшкой), далее обновляешь только приложение, цельное, которому ничего больше не нужно и которое весит копейки. Но монастырь у вас тут совсем другой

Sergey Spirin: Alexey Volkov пишет: Тогда вот дизайнер: http://www.econtrol.ru/formdsn_r.html 350 баксов. Думаю, склепать IDE из этого не составит труда. Ух ты, спасибо, похоже, то что нужно. Я когда гуглил, как-то мимо прошел. "Захаров М.Ю.", а не знаете как зовут? Он один этим занимается? Alexey Volkov пишет: Насчёт обработки событий - надо у автора узнавать Да я вроде продумал уже все на чистом Win32. Нужным обработчикам будет присваиваться одна универсальная процедура, Внутри процедуры идентифицироваться обработчик будует через трюк с подменой Sender-а. И уже даже договорился с коллегой (профи по asm-у) на бутылку коньяка Он напишет процедуру снятия параметров с регистров и стэка. Ну а дальше по Харбор API дергаем соответствующий метод. Alexey Volkov пишет: Но монастырь у вас тут совсем другой

Alexey Volkov: Sergey Spirin пишет: Ух ты, спасибо, похоже, то что нужно. Я когда гуглил, как-то мимо прошел. "Захаров М.Ю.", а не знаете как зовут? Он один этим занимается? Не знаю. узнавайте. Sergey Spirin пишет: Нужным обработчикам будет присваиваться одна универсальная процедура, Внутри процедуры идентифицироваться обработчик будует через трюк с подменой Sender-а. И уже даже договорился с коллегой (профи по asm-у) на бутылку коньяка Он напишет процедуру снятия параметров с регистров и стэка. Ну а дальше по Харбор API дергаем соответствующий метод. Да, подход правильный. У меня примерно так же, только дёргается IDispatch скрипта.

Наиль: Sergey Spirin пишет: "Захаров М.Ю.", а не знаете как зовут? МаилАгент докладывает: Захаров Михаил рождёный 8 апреля 1977 года. Sergey Spirin пишет: Он один этим занимается? http://www.ittlab.uniyar.ac.ru/contacts.html Sergey Spirin пишет: Да я вроде продумал уже все на чистом Win32. Нужным обработчикам будет присваиваться одна универсальная процедура, Внутри процедуры идентифицироваться обработчик будует через трюк с подменой Sender-а. И уже даже договорился с коллегой (профи по asm-у) на бутылку коньяка Он напишет процедуру снятия параметров с регистров и стэка. Ну а дальше по Харбор API дергаем соответствующий метод. Дальше обсуждать даже не стоит, нужно переходить к реализации. Я пока поучу матчасть и присоеденюсь со стороны Delphi. Хотя тут работа в основном на стороне Харбора. Sergey Spirin пишет: Alexey Volkov пишет: цитата: >Тогда вот дизайнер: >http://www.econtrol.ru/formdsn_r.html >350 баксов. >Думаю, склепать IDE из этого не составит труда. Ух ты, спасибо, похоже, то что нужно. Я когда гуглил, как-то мимо прошел. А я найдя решил, что это платный аналог SB и тоже прошёл мимо.

TakOj: Разрешите высказаться заинтересованной (в «супер» GUI) стороне! ИМХО!!! Я думаю «супер» GUI для [x]Harbour можно разработать (в свете данного топика) только при: -- обязательном условии; 1- Alexey Volkov и Sergey Spirin имеют серьёзные намерения. 2- Alexey Volkov и Sergey Spirin объединяют свои усилия. -- достаточном условии: 3 - (при выполнении 1) Alexey Volkov возвращается к своему заброшенному проекту и интегрирует [x]Harbour. 4 - (при выполнении 1) Sergey Spirin ведёт свою линию. 3 и 4 (при выполнении 1) предпочтительнее т.к. будет иметь место конкурирующие продукты, где будет возможность выбора. Гуру [x]Harbour будут иметь двойное преимущество при участии в 3 и 4.

TakOj: Alexey Volkov пишет: Но монастырь у вас тут совсем другой Мне кажется тут нарушается ( и уже нарушен "FRH") основной пункт устава монастыря - OpenSource!!! Т.ч. вы даже очень к стати !!!

Alexey Volkov: TakOj, давайте будем реалистами. Я не готов на 50% переписывать свой продукт, чтобы сделать его из универсального нишевым. дешевле и правильнее будет решить задачу на новой компонентной базе, с новым инструментарием. TakOj пишет: Мне кажется тут нарушается ( и уже нарушен "FRH") основной пункт устава монастыря - OpenSource!!! Смешно говорить об опенсурсе, когда компоненты и инструменты сплошь проприетарные. Конечному пользователю исходники не нужны, а нужен работающий инструмент. Хорошо, если бесплатный. Бесплатность не тождественна открытости, и наоборот. Поверьте линуксоиду со стажем.

Andrey: Alexey Volkov пишет: Конечному пользователю исходники не нужны, а нужен работающий инструмент. Полностью согласен ! Давайте от писанины переходить к делу !!! Чем быстрей, тем лучше....

Sergey Spirin: Привет, всем, и прошу прощения за то, что опять "пропал". К сожалению, со свободным временем у меня напряги продолжаются.... Наиль пишет: Дальше обсуждать даже не стоит, нужно переходить к реализации. Andrey пишет: Давайте от писанины переходить к делу !!! Чем быстрей, тем лучше.... Конечно, согласен, что если не к реализации, так к "глубокому прощупыванию" переходить давно надо. Очень надеюсь, что в ближайшее время свою часть начну. Могу даже уточнить, начну с 18-го июня (возвращаюсь из отпуска). Относительно финансовой стороны, предлагаю обсудить это приватно с реальными и потенциальными участниками по результатам первых "прощупываний".

Наиль: Sergey Spirin пишет: Относительно финансовой стороны, предлагаю обсудить это приватно с реальными и потенциальными участниками по результатам первых "прощупываний". Мне достаточно права участвовать в развитии проекта и использовать результат работы в собственных программках.

Andrey: Sergey Spirin пишет: Могу даже уточнить, начну с 18-го июня (возвращаюсь из отпуска). Как результаты ?

Sergey Spirin: Andrey пишет: Как результаты ? Пока никак. Увы руки не доходят....

Sergey Spirin: Привет! Нашел коллегу-дельфиста, которого заинтересовал проектом. К сожалению, в силу возраста, что такое Dbase он понимает очень смутно Поэтому ему потребуется некоторое время, чтобы войти в проблематику. Планирую, что в течении осени он сможет втянуться. Если втянется, то появляется надежда на осуществление этого проекта. Я же осенью вернусь пока к любимому Фасту Намечается проект - "FastReport for FoxPro"

Наиль: Петр пишет: Если вы начнете с XBScript, то им можете и закончить.  цитата: Q. What is the cost of XBScript? A. XBScript is free of cost, anyone can download it free of cost from: http://www.xHarbour.com. Commercial versions (Professional and Enterprise are also -- Q. Can I distribute it freely? A. No, you are not allowed to distribute xbScript itself it in any form. You may freely distribute scripts of of any form, including html and asp pages. Не пойму почему это XBScript нельзя использовать в любой форме? Вот я скачал исходники с SVN. Можете скачать их одним архиве http://files.mail.ru/ZZX6BO и убедиться, что проект создаётся под лицензией GPL А значит я могу использовать его в пределах этой лицензии.

Alexey Volkov: Смотрю, обсуждение затихло? А тем временем внезапно появились новости. Мне удалось выйти на нынешних правообладателей библиотеки Dream Controls, которые благополучно забили на этот продукт. Пытался склонить их к открытию исходников, чтоб аналогичным образом и я смог поступить со своим Билдером. Но увы, они заняли предсказуемую позицию - ни себе, ни людям. Но по крайней мере удалось договориться о возможности передачи моей разработки (включая мою ветку их библиотеки) третьим лицам на условиях NDA. Т.е. в закрытом виде. Так что если есть серьёзные намерения - обращайтесь, передам в хорошие руки. Сам я уже развивать проект вряд ли буду. Условия передачи обсуждаются лично. Поскольку распространение под открытой лицензией невозможно, кандидат должен понимать ответственность, которую на себя берёт. Соответственно, исключительные права на передаются не безвозмездно. Надеюсь на понимание!



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