может быть, это идиотский вопрос, но тем не менее ...
Я задал несколько вопросов о плагинах в Delphi. Какой способ лучше dll, bpl, OCX, скриптовый движок ...
Я не хочу распространять все * .bpls и все его зависимости ...
Все, что мне нужно, это * .dll, который содержит TForm. И эта форма должна быть размещена в главном приложении.
В delphi нет прямой поддержки этого (очень печальная ситуация). Некоторые обходные пути существуют, но есть проблемы с клавишей табуляции и т.д ...
Так что обходной путь идеален.
Но, возможно, есть другая возможность. Внедрить код dll непосредственно в хост * .exe.
Таким образом, * .exe будет думать, что введенный код его собственный ... И много проблем (например, с ключом табуляции в форме) должно быть устранено.
Является ли это возможным? Разве это не грязный взлом, например эта техника "программно" законна?
(У меня нет опыта внедрения кода, и, возможно, он не имеет смысла в том, что я говорю здесь;)
С наилучшими пожеланиями
Peter
[Редактировать]
Чтобы прояснить некоторые вещи ... Когда мы помещаем TForm в dll и затем пытаемся внедрить эту форму в приложение host * .exe, возникает много проблем. Во-первых, это ошибка «невозможно назначить TFont TFont», но для этого есть обходной путь.
Во-вторых, хост-приложение принимает всю встроенную форму как один компонент, поэтому вы не можете использовать клавишу табуляции. (После нажатия клавиши Tab фокус полностью выпрыгнет из встроенной формы). Также у нас есть обходной путь для этого, но он далек от идеального ...
Поэтому у меня возникла идея: если мы внедрим некоторый код в хост, возможно, хост будет думать, что изогнутая форма является его собственным кодом, поэтому будет работать клавиша табуляции.
Но, как я уже говорил, я ничего не знаю о инъекциях, просто (может быть) сумасшедшая идея;)