![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Все привет
.Хотел узнать, можно ли сделать так: из программы на delphi выбрать файл (например .dll, расширение не имеет значения) и он добавлял на форму предметы (чексбоксы и пр., ну и соответственно чтобы пользователь мог с ними взаимодействовать, и они обрабатывали действия, в общем как будь то они и были на форме) ? Как правильно будет составить такой файл ? Если такая тема уже есть ткните туда лицом глупца . |
|
#2
|
||||
|
||||
|
Кстати, я бы тоже не прочь это узнать.
|
|
#3
|
||||
|
||||
|
Тебе надо писать свой компонент, потом устанавливаешь его и можешь кидать его на форму...
|
|
#4
|
|||
|
|||
|
Цитата:
Цель: создать программу которая сможет "подгружать" компоненты. Т.е. например создаем файл (.dll, или любое другое расширение) и в нем как то прописать, чтобы при прогрузке его программой на форму (программы) добавлялся компонент (указанный в .dll файле). |
|
#5
|
|||
|
|||
|
А почему нельзя сделать файл в виде
Button Top left Height With caption А программа читает первую строку и создает такой компонент на форме (по названию) и его параметры указанные дальше (вместо top цыфра место положения с верху и т.д.)? Может я что-то не то понял? ![]() |
|
#6
|
||||
|
||||
|
Я считаю это разумно. Принято.
|
|
#7
|
||||
|
||||
|
А в чем проблема то?
Да и зачем компонент писать? Тут все намного проще. Просто передаешь в дллку форму, функция в дллке выполняет создание контролов, ставит им в качестве парента твою форму и все.Хотя проще через фрэйм сделать. |
|
#8
|
|||
|
|||
|
Цитата:
Ненавижу писать такие сообщения, но: не могли бы вы написать мини пример ?) PlanetDigits, а как программа прочитает это ? И как обработать действия, связанные с этим компонентом. Например та же кнопка, как обработать момент ее нажатия ? Ребят, прошу прощения, в дельфи не силен. |
|
#9
|
||||
|
||||
|
Функа в дллке
Код:
function IchBinFunktion(aForm: TForm): boolean; stdcall;
var
button: TButton;
begin
button := TButton.Create(aForm);
***тут море кода***
button.parent := aForm;
***
Result := true;
{
тут можно какой-нибудь обработчик исключительных ситуаций сделать
}
end; |
|
#10
|
|||
|
|||
|
Цитата:
|
|
#11
|
||||
|
||||
|
Код:
procedure MyClick(Sender: TObject);
begin
Showessage('Click');
end;
...
button.OnClick := MyClick;
... |
|
#12
|
|||
|
|||
|
M.A.D.M.A.N Может я не правильно понимаю суть задачи,
но мне кажется, что условие такое: Пользователь выбирает (через диалог) файл, и в зависимости от того что в этом файле у него появляется определенный компонент. А если делать так ка Вы говорите, то получается, что dll должна быть прописана в программе (т.е. выбор файла отсутствует). Если я не прав то пожалуйста объясните как это работает, я никогда с таким не сталкивался и интересно. |
|
#13
|
||||
|
||||
|
А про динамическую загрузку dll ты слышал?
http://www.delphisources.ru/pages/fa...l_loading.html |
|
#14
|
|||
|
|||
|
Цитата:
|
|
#15
|
|||
|
|||
|
M.A.D.M.A.N Все вспомнил. Просто слышал и никогда этим не пользовался. Спасибо!
|