Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.12.2010, 13:59
Vladislav Vladislav вне форума
Прохожий
 
Регистрация: 24.04.2010
Сообщения: 48
Репутация: 10
По умолчанию Добавление на форму

Все привет .

Хотел узнать, можно ли сделать так: из программы на delphi выбрать файл (например .dll, расширение не имеет значения) и он добавлял на форму предметы (чексбоксы и пр., ну и соответственно чтобы пользователь мог с ними взаимодействовать, и они обрабатывали действия, в общем как будь то они и были на форме) ?

Как правильно будет составить такой файл ? Если такая тема уже есть ткните туда лицом глупца .
Ответить с цитированием
  #2  
Старый 25.12.2010, 14:04
Аватар для EvilRussian
EvilRussian EvilRussian вне форума
Начинающий
 
Регистрация: 21.12.2010
Адрес: Россия, Красноярский край
Сообщения: 177
Репутация: 22
По умолчанию

Кстати, я бы тоже не прочь это узнать.
__________________
Если не ты, то кто?
(с) Терри Пратчетт

Не забывайте ставить плюсы и говорить спасибо!
Ответить с цитированием
  #3  
Старый 25.12.2010, 14:32
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Тебе надо писать свой компонент, потом устанавливаешь его и можешь кидать его на форму...
__________________
Помогаю за Спасибо
Ответить с цитированием
  #4  
Старый 25.12.2010, 14:35
Vladislav Vladislav вне форума
Прохожий
 
Регистрация: 24.04.2010
Сообщения: 48
Репутация: 10
По умолчанию

Цитата:
Сообщение от v1s2222
Тебе надо писать свой компонент, потом устанавливаешь его и можешь кидать его на форму...
Вы немного не так поняли (или я не так описал \ понял).

Цель: создать программу которая сможет "подгружать" компоненты. Т.е. например создаем файл (.dll, или любое другое расширение) и в нем как то прописать, чтобы при прогрузке его программой на форму (программы) добавлялся компонент (указанный в .dll файле).
Ответить с цитированием
  #5  
Старый 25.12.2010, 14:59
PlanetDigits PlanetDigits вне форума
Прохожий
 
Регистрация: 25.12.2010
Сообщения: 5
Репутация: 10
По умолчанию

А почему нельзя сделать файл в виде
Button
Top
left
Height
With
caption

А программа читает первую строку и создает такой компонент на форме (по названию) и его параметры указанные дальше (вместо top цыфра место положения с верху и т.д.)? Может я что-то не то понял?
Ответить с цитированием
  #6  
Старый 25.12.2010, 15:13
Аватар для EvilRussian
EvilRussian EvilRussian вне форума
Начинающий
 
Регистрация: 21.12.2010
Адрес: Россия, Красноярский край
Сообщения: 177
Репутация: 22
По умолчанию

Я считаю это разумно. Принято.
__________________
Если не ты, то кто?
(с) Терри Пратчетт

Не забывайте ставить плюсы и говорить спасибо!
Ответить с цитированием
  #7  
Старый 25.12.2010, 15:42
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

А в чем проблема то? Да и зачем компонент писать? Тут все намного проще. Просто передаешь в дллку форму, функция в дллке выполняет создание контролов, ставит им в качестве парента твою форму и все.
Хотя проще через фрэйм сделать.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #8  
Старый 25.12.2010, 16:06
Vladislav Vladislav вне форума
Прохожий
 
Регистрация: 24.04.2010
Сообщения: 48
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
А в чем проблема то? Да и зачем компонент писать? Тут все намного проще. Просто передаешь в дллку форму, функция в дллке выполняет создание контролов, ставит им в качестве парента твою форму и все.
Хотя проще через фрэйм сделать.

Ненавижу писать такие сообщения, но: не могли бы вы написать мини пример ?)

PlanetDigits, а как программа прочитает это ? И как обработать действия, связанные с этим компонентом. Например та же кнопка, как обработать момент ее нажатия ?

Ребят, прошу прощения, в дельфи не силен.
Ответить с цитированием
  #9  
Старый 25.12.2010, 16:56
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Функа в дллке
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
function IchBinFunktion(aForm: TForm): boolean; stdcall;
var
  button: TButton;
begin
  button := TButton.Create(aForm);
***тут море кода***
  button.parent := aForm;
***
  Result := true;
{
тут можно какой-нибудь обработчик исключительных ситуаций сделать
}
end;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #10  
Старый 25.12.2010, 17:04
Vladislav Vladislav вне форума
Прохожий
 
Регистрация: 24.04.2010
Сообщения: 48
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Функа в дллке
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
function IchBinFunktion(aForm: TForm): boolean; stdcall;
var
  button: TButton;
begin
  button := TButton.Create(aForm);
***тут море кода***
  button.parent := aForm;
***
  Result := true;
{
тут можно какой-нибудь обработчик исключительных ситуаций сделать
}
end;
Хм.. как обрабатывать события, связанные с этой кнопкой ?
Ответить с цитированием
  #11  
Старый 25.12.2010, 17:10
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Код:
1
2
3
4
5
6
7
procedure MyClick(Sender: TObject);
begin
  Showessage('Click');
end;
...
  button.OnClick := MyClick;
...
__________________
Помогаю за Спасибо
Ответить с цитированием
  #12  
Старый 25.12.2010, 17:17
PlanetDigits PlanetDigits вне форума
Прохожий
 
Регистрация: 25.12.2010
Сообщения: 5
Репутация: 10
По умолчанию

M.A.D.M.A.N Может я не правильно понимаю суть задачи,
но мне кажется, что условие такое: Пользователь выбирает (через диалог) файл, и в зависимости от того что в этом файле у него появляется определенный компонент. А если делать так ка Вы говорите, то получается, что dll должна быть прописана в программе (т.е. выбор файла отсутствует). Если я не прав то пожалуйста объясните как это работает, я никогда с таким не сталкивался и интересно.
Ответить с цитированием
  #13  
Старый 25.12.2010, 17:18
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

А про динамическую загрузку dll ты слышал?
http://www.delphisources.ru/pages/fa...l_loading.html
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #14  
Старый 25.12.2010, 17:18
Vladislav Vladislav вне форума
Прохожий
 
Регистрация: 24.04.2010
Сообщения: 48
Репутация: 10
По умолчанию

Цитата:
Сообщение от PlanetDigits
M.A.D.M.A.N Может я не правильно понимаю суть задачи,
но мне кажется, что условие такое: Пользователь выбирает (через диалог) файл, и в зависимости от того что в этом файле у него появляется определенный компонент. А если делать так ка Вы говорите, то получается, что dll должна быть прописана в программе (т.е. выбор файла отсутствует). Если я не прав то пожалуйста объясните как это работает, я никогда с таким не сталкивался и интересно.
Вы все правильно поняли, нужно чтобы сам юзер выбрал.
Ответить с цитированием
  #15  
Старый 25.12.2010, 17:30
PlanetDigits PlanetDigits вне форума
Прохожий
 
Регистрация: 25.12.2010
Сообщения: 5
Репутация: 10
По умолчанию

M.A.D.M.A.N Все вспомнил. Просто слышал и никогда этим не пользовался. Спасибо!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:14.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025