Page 1 of 1

При посыле url на закачку вылетает Access violation. Срочно!

Posted: 06 Oct 2007, 21:01 Sat
by andruxin
Разработчики выручайте. Нужно очень срочно!!!!
Вот в такой конструкции не могу запустить url на закачку.
вылетает Access violation at address 01A7CAA7 in module 'plugin.dll'. Read of adress 0000000C

при PluginInit создаётся форма, для теста посылаю showmessage( myIDmInterface.DoAction('GetPluginDir', ''));
если посылается из Unit1.FormCreate - ошибка.
если непосредственно из PluginInit, срабатывает, но это и понятно.
Видимо както я неправильно не в те разделы объявил процедуры. подскажите чё не так.

Code: Select all

unit plugin;

interface

uses DMPluginIntf, Classes, Dialogs, unit1, forms;
const
......

type
TDMTestPlugIn = class(TInterfacedObject, IDMPlugIn)  
  private
    myIDmInterface: IDmInterface;
  protected
  public
    procedure StartDownload(url,section:string;hidden:boolean);
    procedure ShowPath;
    ....

  published

end;

var PluginModul: TDMTestPlugIn;
   
implementation

.....

procedure TDMTestPlugIn.PluginInit(_IDmInterface: IDmInterface);
begin
  myIDmInterface := _IDmInterface;
  form1:=tform1.Create(nil);
end;


procedure TDMTestPlugIn.PluginConfigure(params: WideString);
begin   
  form1.Show;
end;


procedure TDMTestPlugIn.StartDownload(url,section: string; hidden: boolean);
begin
  myIDmInterface.DoAction('AddingURL', '<url>'+url+'</url> <sectionslimit>'+section+'</sectionslimit>');
 //myIDmInterface.DoAction('AddingURL', '<url>http://www.westbyte.com/plugin</url> <sectionslimit>2</sectionslimit>');
end;

procedure TDMTestPlugIn.ShowPath;
begin
 showmessage( myIDmInterface.DoAction('GetPluginDir', ''));
end;

end.

Code: Select all

unit Unit1;

interface

uses
....

type
  TForm1 = class(TForm)
    ....
    procedure FormCreate(Sender: TObject);
    procedure StartDownloadClick(Sender: TObject);
  end;

var
.....

implementation
uses plugin;
{$R *.dfm}



procedure TForm1.FormCreate(Sender: TObject);
begin
PluginModul.ShowPath;
.....
end;


procedure TForm1.StartDownloadClick(Sender: TObject);
begin
 PluginModul.StartDownload('http://file.ru/file.zip','3',false);
 ......
end;

end.

Posted: 06 Oct 2007, 21:46 Sat
by andruxin
или короче говоря, как послать DoAction из своего окна?