Forum Replies Created
-
AuthorPosts
-
KarlParticipant
Здравствуйте. А вы можете просто показать как заскинить Форму динамически в C++ builder? То есть загрузить BPL файл и вызвать нужные фунцкии “at run time”?
KarlParticipant'Support' wrote:Можете прислать тестовое приложение, которое я могу попробовать заскинить?
Я бы с радостью, но т.к. разговор идёт о другом компиляторе (да и вообще о другом языке программирования), то тогда Вам пришлось бы установить и этот компилятор (и изучить Кобол)… Думаю, это уж слишком! 🙂 , да и совсем не обязательно. Если Вы имеете в виду созданиe ActiveX компонента на базе sSkinManager, то любой компилятор использующий ActiveX / COM / OLE пойдёт (тот же V:cool:. А если Вы хотите попробовать через LoadLibrary и GetProcAddress, то примера на C++ / Delphi будет достаточно (я сам его переведу на Кобол).
П.С. Компилятор использует ActiveX компоненты, но и стандартные вызовы WinAPI. То есть, в окне существует WinMain и т.д.
KarlParticipant'Support' wrote:Теперь я вспомнил, да. Сомневаюсь, что окна VisualBasic будут хорошо сотрудничать с AC. Разве что самые простые формы…
Значит я с Вами беседовал?! 🙂 В данном случае, VisualBasic был чисто примером. Просто, компилятор в котором работаю я, тоже работает с компонентами ActiveX. Но VisualBasic насколько мне известно не генерирует машинный код, а некий псевдо-машинный код работающий через нечто вроде интерпретатора, упакованного в DLL (типа Run-Time). Компилятор, в котором работаю я, (в отличии от VisualBasic) транслирует код в машинный. То есть генерируется и WinMain, и вызов системных функций WinAPI прямо в модуле. Так что, думаю, если не в полной мере, то хоть главные аспекты АС должны сработать. По крайней мере, я бы хотел попробовать 🙂 Поэтому, мне нужны инструкции по поводу того, какие конкретно функции и в какой очерёдности должны быть вызваны в *.bpl файле. Если бы Вы смогли мне дать эту информацию, дело останется только за тестированием, чем бы я с удовольствием занялся! 🙂
KarlParticipant'Support' wrote:Я имел в виду – если расположить компоненты на ActiveX form. Разве не работает?
Расположить компоненты на ActiveX Form получается. Но как передать скинирование другой Form в VisualBasic на пример? Скинируется только ActiveX Form созданный в Embarcadero. В своё время я уже беседовал на эту тему с Сергеем (если не ошибаюсь), в этом форуме. Сделать так, как Вы говорите не получается т.к. через ActiveX нужно взаимодействие самой Form из VisualBasic с компонентом ActiveX, который получает например Handle окна и скинирует его. Плюс к тому, например sSkinManager это компонент, наследуется от TComponent а не от TControl (сам TComponent виден только в design mode). В итоге, это достаточно сложно вручную записать все поля и функции что бы создать ActiveX компонент.
По этому, зная что *.bpl можно использовать как *.dll (загрузив и находя адреса функций через WinAPI), я подумал, что можно было бы попробовать использовать SkinManager во время исполнения программы, динамически а не в design mode, с помощью LoadLibrary и GetProcAddress.
KarlParticipantНапрямую, в каком смысле? На данный момент ActiveX версии AlphaControls вроде не существует. А зарегистрировать bpl как ActiveX через regsvr32 вроде невозможно (насколько я знаю, там совершенно разные принципы работы). Так что, я не совсем понимаю, что Вы имеете в виду. Возможно есть какие-то трюки, с помощью которых это возможно?
KarlParticipant'VahaC' wrote:Воруем однако
Однако, Милейший, поспешными выводами грешите! Сроду не воровалС, и нынче не собираюсь. И если и пользуюсь данным изобретением, то только с позволения создателя/владельца. В правдивости данных слов можете удостовериться обратившись к Администрации сайта.
П.С. Редактирую т.к. тут не знаю откуда картинка какая-то выходит, типа подписи, я её не ставил… Не знаю откуда она взялась, в общем стираю её.
KarlParticipantСпасибо за ответ. Жаль конечно, но будем надеется, что оно всё же когда-нибудь получится. Моё предложение о помощи с тестированием (естественно бесплатно) остаётся в силе!
Кстати, я нашёл неплохой пакет со скинером и контролами, конечно он бедноват по сравнению с вашим, но в общем не плох собой. Hазывается Codejock Xtreme Suite Pro – это в Activex формате. Существует тот же самый пакет для С++, называется Codejock Xtreme Toolkit Pro. Если что, можете глянуть, возможно в чём-то пригодится.
KarlParticipantПривет ребят. На эту тему новостей никаких? Вариант того, что пакет может появиться в ActiveX формате ещё актуален, или забыт?
KarlParticipant'VahaC' wrote:Все там есть
[attachment=6304:alphaskins_rus1.PNG]
ПС
А может ты “буржуй” (или юзаешь “буржуйский” IP)
Есть такое дело! Живу в Мадриде. Видать подключили фильтрацию по IP. Выходит кранты иностранцам, а вместе с ними и мне )))
KarlParticipant'VahaC' wrote:Ничего не исчезло все на месте[attachment=6301:alphaskins_rus.PNG]
Ссылка на русскую страницу есть, а в ней нет ссылки на полный пакет компонентов.
KarlParticipantИ ссылка на полный пакет компонентов “Для жителей СНГ” тоже исчезла. Её больше не будет? Полный пакет больше не доступен как раньше? Или он доступен каким-то иным путём?
KarlParticipantПривет.
Есть ли какие-либо продвижения?
KarlParticipant'Support' wrote:Да, это равносильно созданию нового проекта, но пока есть другие задачи..
ОК. Если сможете напишите, приблизительно когда это будет возможно? И конечно, можете рассчитывать на мою помощь!
KarlParticipant,
'Support' wrote:Да, спасибо, в общем понятно все, но работы там много, это выделить время специально нужно..
Значит мы всё так и нашли каким образом это можно сделать!
Что касается времени, Вы имеете в виду данную разработку как отдельный поект в будущем или параллельно с основным (для Delphi/C++)?
Кстати, если Вы можете разрабатывать ОСХ параллелно с основными разработками, то что касается тестирования – я могу заняться этим вопросом и предоставлять всю информацию о каких-либо неполадках/багах и т.д.
KarlParticipantНу как, инфа годная? Если что – могу ещё поискать…
KarlParticipantЗалил PDF (во вложениях ), в котором описана данная процедура…
KarlParticipantЗабыл сказать, что все свойства которые были видны, это те которые декларированы в это части (ridl):
KarlParticipantЯ всё это время тоже искал информацию на этот счёт… Если я правильно понял, невидемый контрол это TComponent. В нескольких источниках говорят о том же самом: сделать невидемый компонент в ОСХ можно следующим образом:
Создать стандартный ОСХ контрол, из того же самого TButton, потом поменять класс с TControl на TComponent, удалить все свойства и процедуры TButton-а, и записать соответственно те которые пренадлежат невидемому контролу (в нашем случае sSkinManager и sSkinProvider)…
Конечно это всё для меня теория, сам я этого сделать не смог даже с другими, стандартными невидемыми компонентами Delphi (разные ошибки выходят, понять которые я не могу с моими знаниями). Но возможно эта информация облегчит Вам задачу.
KarlParticipant'Support' wrote:Я не помню точно на чем мы тогда остановились.
Сделали форму контейнер для SkinManager и контролов, которые скинились через свойство SkinName у этой формы?
Почти. В итоге свойства “SkinManager” или “SkinName” так и не появилось среди Properties, не смотря на то, что они были в published…
KarlParticipantДобрый вечер,
Есть ли какие-либо продвижения по данной теме?
С уважением, Карл.
-
AuthorPosts