Модераторы: Alexeis
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызов DLL на Pocket PC. 
:(
    Опции темы
SerGreY
Дата 22.4.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 18.1.2004

Репутация: нет
Всего: нет



Пишу программку для КПК на Delphi .NET.
Нужно из нее вызвать DLL, собранный на Delphi7.

На моем компьютере вызов DLL работает нормально,
а на КПК выдает ошибку: 'MissingMethodException'.

Вот код тестовой программы:

Код

unit MainForm;

interface

uses
{$IFDEF CF_Pluimers}
  Pluimers.WindowsCE.ClassHelpers,
{$ENDIF CF_Pluimers}
  System.Drawing, System.Collections, System.ComponentModel,
  System.Windows.Forms, System.Data, System.Runtime.InteropServices,
  Borland.Vcl.Types, Borland.Vcl.SysUtils;

type
  frmMain = class(System.Windows.Forms.Form)
  {$REGION 'Designer Managed Code'}
  strict private
    /// <summary>
    /// Required designer variable.
    /// </summary>
    Components: System.ComponentModel.Container;
    Label1: System.Windows.Forms.Label;
    Button1: System.Windows.Forms.Button;
    TextBox1: System.Windows.Forms.TextBox;
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    procedure InitializeComponent;
    procedure Button1_Click(sender: System.Object; e: System.EventArgs);
  {$ENDREGION}
  strict protected
    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    procedure Dispose(Disposing: Boolean); override;
  private
    { Private Declarations }
  public
    constructor Create;
  end;

  [assembly: RuntimeRequiredAttribute(TypeOf(frmMain))]

implementation

[DllImport('Project2.dll', EntryPoint = 'MyFunction')]
  function MyFunction(i:integer):integer; external;

{$AUTOBOX ON}

{$REGION 'Windows Form Designer generated code'}
/// <summary>
/// Required method for Designer support -- do not modify
/// the contents of this method with the code editor.
/// </summary>
procedure frmMain.InitializeComponent;
begin
  Self.Label1 := System.Windows.Forms.Label.Create;
  Self.Button1 := System.Windows.Forms.Button.Create;
  Self.TextBox1 := System.Windows.Forms.TextBox.Create;
  Self.SuspendLayout;
  // 
  // Label1
  // 
  Self.Label1.Location := System.Drawing.Point.Create(64, 56);
  Self.Label1.Name := 'Label1';
  Self.Label1.TabIndex := 0;
  Self.Label1.Text := 'Label1';
  // 
  // Button1
  // 
  Self.Button1.Location := System.Drawing.Point.Create(64, 104);
  Self.Button1.Name := 'Button1';
  Self.Button1.TabIndex := 1;
  Self.Button1.Text := 'Button1';
  Include(Self.Button1.Click, Self.Button1_Click);
  // 
  // TextBox1
  // 
  Self.TextBox1.Location := System.Drawing.Point.Create(72, 152);
  Self.TextBox1.Name := 'TextBox1';
  Self.TextBox1.TabIndex := 2;
  Self.TextBox1.Text := 'TextBox1';
  // 
  // frmMain
  // 
  Self.AutoScaleBaseSize := System.Drawing.Size.Create(5, 13);
  Self.ClientSize := System.Drawing.Size.Create(232, 293);
  Self.Controls.Add(Self.TextBox1);
  Self.Controls.Add(Self.Button1);
  Self.Controls.Add(Self.Label1);
  Self.MinimizeBox := False;
  Self.Name := 'frmMain';
  Self.Text := 'frmMain';
  Include(Self.Click, Self.frmMain_Load);
  Self.ResumeLayout(False);
end;
{$ENDREGION}

procedure frmMain.Dispose(Disposing: Boolean);
begin
  if Disposing then
  begin
    if Components <> nil then
      Components.Dispose();
  end;
  inherited Dispose(Disposing);
end;

constructor frmMain.Create;
begin
  inherited Create;
  //
  // Required for Windows Form Designer support
  //
  InitializeComponent;
  //
  // TODO: Add any constructor code after InitializeComponent call
  //
end;

procedure frmMain.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
  MyFunction(3);
end;

end.


Это сообщение отредактировал(а) SerGreY - 22.4.2007, 16:43
PM MAIL   Вверх
Snowy
Дата 23.4.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 2
Всего: 484



А кто тебе сказал, что это dll?
Для КПК это просто куча байт, не более.
PM MAIL   Вверх
SerGreY
Дата 23.4.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 18.1.2004

Репутация: нет
Всего: нет



Спасибо, я понял.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование мобильных устройств"
Alexeis

Раздел посвящен программированию мобильных устройств.

Все остальные вопросы по мобильным устройствам (КПК, смартфоны, телефоны, фотоаппараты и т.п),
не имеющие отношения к программированию, просьба размещать в разделе КПК, смартфоны, мобильники

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Платформы Windows Mobile и Windows Embedded | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.