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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.08.2012, 19:25
sorockinalex sorockinalex вне форума
Начинающий
 
Регистрация: 08.08.2012
Сообщения: 178
Репутация: 10
Восклицание Двусторонний обмен данными с MDIChild Dll

Ребята, делфи пользуюсь давно, но как продвинутый пользователь. Недавно столкнулся с задачей сделать MDI DLL, программа была написана без модулей.. Скачал в интернете пример MDI DLL окна, прочитал данную тему, но ничего толком не понял в каком месте объявлять переменные, чтобы они были доступны двусторонне.. Стоит задача передать переменные из главной формы, чтобы изменить их и уже при закрытии MDI формы изменённые значения использовать в главной форме, помогите пожалуйста! Чувствую, моиз знаний недостаточно для этого, нервничать уже начал (
Если кому не сложно - измените пример по ссылке, пожалуйста! Нужно передать и принять в главной форме несколько переменных. Огромное спасибо заранее тому, кто поможет! Вот здесь скачал пример MDI DLL
Ответить с цитированием
  #2  
Старый 17.08.2012, 19:38
sorockinalex sorockinalex вне форума
Начинающий
 
Регистрация: 08.08.2012
Сообщения: 178
Репутация: 10
По умолчанию

или лучше использовать bpl пакет? кто-нибудь имеет в наличии рабочий пример?
Ответить с цитированием
  #3  
Старый 17.08.2012, 21:07
sorockinalex sorockinalex вне форума
Начинающий
 
Регистрация: 08.08.2012
Сообщения: 178
Репутация: 10
По умолчанию

нашёл пример 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  
Старый 17.08.2012, 21:51
sorockinalex sorockinalex вне форума
Начинающий
 
Регистрация: 08.08.2012
Сообщения: 178
Репутация: 10
По умолчанию

понял в чём дело..
другой пакет использует того же наследника класса...
но при попытке добавить в секцию 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  
Старый 17.08.2012, 22:03
sorockinalex sorockinalex вне форума
Начинающий
 
Регистрация: 08.08.2012
Сообщения: 178
Репутация: 10
По умолчанию

блин, вот я туплю... разобрался... удалил путь поиска в Delphi\Projects\BPL )))
Ответить с цитированием
  #6  
Старый 17.08.2012, 22:18
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

театр одного актера
__________________
Понять, что хочет заказчик - бесценно, ведь он платит MasterCard
Ответить с цитированием
  #7  
Старый 17.08.2012, 22:39
sorockinalex sorockinalex вне форума
Начинающий
 
Регистрация: 08.08.2012
Сообщения: 178
Репутация: 10
По умолчанию

ребята, помогите, пожалуйста! не силён в этом, простите уж.. мучаюсь, мучаюсь, никак не разберусь... как заставить форму мою FieldEditForm открываться при нажатии кнопки FieldEditForm на главной формею.. Никак не пойму устройство классов в примере...

http://zalil.ru/33688750
Ответить с цитированием
  #8  
Старый 21.08.2012, 17:11
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 297
Репутация: -1806
По умолчанию

Цитата:
Сообщение от sorockinalex
делфи пользуюсь давно, но как продвинутый пользователь.
вот тут самое интересное
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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