Создание и подключение dll: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
(Новая: == Ссылки == *Особенности языка: продвинутый уровень *[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalAB...)
 
 
(не показано 6 промежуточных версий этого же участника)
Строка 1: Строка 1:
Здесь используется упрощенный синтаксис dll - без деления на интерфейс и реализацию.
=== MyDll.dll ===
Это код библиотеки dll.
<source lang="Delphi">library MyDll;
const
  PascalABCNET = 'PascalABC.NET';
type
  My = class
  private
    s: string;
  public 
    constructor (s: string);
    begin
      Self.s := s;
    end;
    function ToString: string; override;
    begin
      Result := s;
    end;
  end;
function MyAdd(a,b: integer): integer;
begin
  Result := a + b;
end;
end.</source>
=== Main.pas ===
Это код основной программы
<source lang="Delphi">{$reference mydll.dll}
begin
  writeln(PascalABCNET);
  writeln(MyAdd(2,3));
  var m: My;
  m := new My('Hello');
  writeln(m);
end.</source>
== Ссылки ==
== Ссылки ==
*[[Особенности языка: продвинутый уровень]]
*[[Особенности языка: продвинутый уровень]]
*[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка]
*[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка]

Текущая версия от 16:29, 5 марта 2010

Здесь используется упрощенный синтаксис dll - без деления на интерфейс и реализацию.

MyDll.dll

Это код библиотеки dll.

library MyDll;

const 
  PascalABCNET = 'PascalABC.NET';

type 
  My = class 
  private
    s: string;
  public  
    constructor (s: string);
    begin
      Self.s := s;
    end;
    function ToString: string; override;
    begin
      Result := s;
    end;
  end;

function MyAdd(a,b: integer): integer;
begin
  Result := a + b;
end;

end.

Main.pas

Это код основной программы

{$reference mydll.dll}
begin
  writeln(PascalABCNET);
  writeln(MyAdd(2,3));
  var m: My;
  m := new My('Hello');
  writeln(m);
end.

Ссылки