![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Ребята, делфи пользуюсь давно, но как продвинутый пользователь. Недавно столкнулся с задачей сделать MDI DLL, программа была написана без модулей.. Скачал в интернете пример MDI DLL окна, прочитал данную тему, но ничего толком не понял в каком месте объявлять переменные, чтобы они были доступны двусторонне.. Стоит задача передать переменные из главной формы, чтобы изменить их и уже при закрытии MDI формы изменённые значения использовать в главной форме, помогите пожалуйста! Чувствую, моиз знаний недостаточно для этого, нервничать уже начал (
Если кому не сложно - измените пример по ссылке, пожалуйста! Нужно передать и принять в главной форме несколько переменных. Огромное спасибо заранее тому, кто поможет! Вот здесь скачал пример MDI DLL |
#2
|
|||
|
|||
![]() или лучше использовать bpl пакет? кто-нибудь имеет в наличии рабочий пример?
|
#3
|
|||
|
|||
![]() нашёл пример bpl, решил его использовать
http://www.delphikingdom.com/asp/vie...?catalogid=274 адаптирую свой старый юнит с формой, но вылетает ошибка: Method 'Exporter Name' not found in base class.. Где ошибка? Код:
unit FieldEdit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DataModule; type TFieldEditForm = class(TForm) FieldEdit: TEdit; Label3: TLabel; AddButton: TButton; CancelButton: TButton; EditButton: TButton; procedure AddButtonClick(Sender: TObject); procedure CancelButtonClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private public class function ExporterName: string; override; end; var FieldEditForm: TFieldEditForm; InputFieldKey, InputFieldName, OutputFieldKey, OutputFieldName:string; implementation uses UClassManager; {$R *.dfm} class function TFieldEditForm.ExporterName: string; begin Result := 'Редактирование месторождения'; end; procedure TFieldEditForm.AddButtonClick(Sender: TObject); begin end; procedure TFieldEditForm.FormShow(Sender: TObject); end; procedure TFieldEditForm.FormClose(Sender: TObject; var Action: TCloseAction); begin end; { ============================================= } initialization { ============================================= } ClassManager.Add(TFieldEditForm); { ============================================= } finalization { ============================================= } ClassManager.Remove(TFieldEditForm); end. Код:
{ ============================================= } unit UClassManager; { ============================================= } { ============================================= } interface { ============================================= } uses Classes; type TClassManager = class(TList); function ClassManager: TClassManager; { ============================================= } implementation { ============================================= } var Manager: TClassManager; function ClassManager: TClassManager; begin Result := Manager; end; { ============================================= } initialization { ============================================= } Manager := TClassManager.Create; { ============================================= } finalization { ============================================= } Manager.Free; end{ ========================================== }. Последний раз редактировалось sorockinalex, 17.08.2012 в 21:12. |
#4
|
|||
|
|||
![]() понял в чём дело..
другой пакет использует того же наследника класса... но при попытке добавить в секцию requires ту же DCU, содержащую описания этих классов возникает ошибка "Another File with the same nase name is already on the search path" Как избежать дублирования? Иначе пакет в исполняемом файле отказывается загружатся с ошибкой: "Cannot load the package. It contains unit which is also contained in package..." Короче, он не может загрузить пакет, так как он содержит юнит, который уже загружен в другом пакете... Помогите пожалуйста, друзья! |
#5
|
|||
|
|||
![]() блин, вот я туплю... разобрался... удалил путь поиска в Delphi\Projects\BPL )))
|
#6
|
||||
|
||||
![]() ![]() ![]() Понять, что хочет заказчик - бесценно, ведь он платит MasterCard ![]() |
#7
|
|||
|
|||
![]() ребята, помогите, пожалуйста! не силён в этом, простите уж.. мучаюсь, мучаюсь, никак не разберусь... как заставить форму мою FieldEditForm открываться при нажатии кнопки FieldEditForm на главной формею.. Никак не пойму устройство классов в примере...
http://zalil.ru/33688750 |
#8
|
|||
|
|||
![]() Цитата:
![]() |