Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  3 787

•  TDictionary Custom Sort  5 902

•  Fast Watermark Sources  5 700

•  3D Designer  8 473

•  Sik Screen Capture  6 036

•  Patch Maker  6 480

•  Айболит (remote control)  6 472

•  ListBox Drag & Drop  5 336

•  Доска для игры Реверси  94 940

•  Графические эффекты  6 677

•  Рисование по маске  5 797

•  Перетаскивание изображений  4 859

•  Canvas Drawing  5 235

•  Рисование Луны  4 958

•  Поворот изображения  4 504

•  Рисование стержней  3 186

•  Paint on Shape  2 431

•  Генератор кроссвордов  3 306

•  Головоломка Paletto  2 619

•  Теорема Монжа об окружностях  3 402

•  Пазл Numbrix  2 248

•  Заборы и коммивояжеры  2 908

•  Игра HIP  1 878

•  Игра Go (Го)  1 792

•  Симулятор лифта  2 130

•  Программа укладки плитки  1 857

•  Генератор лабиринта  2 296

•  Проверка числового ввода  1 983

•  HEX View  2 293

•  Физический маятник  1 956

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Первый COM-сервер



unit DllClass;

interface

uses
  ActiveX, ComObj;

const
  CLSID_TDllNumber: TGUID =
  '{84960F62-1D49-11D1-854E-444553540000}';

type
  INumber = interface
    ['{ECD5DAE3-1D37-11D1-854E-444553540000}']
    function GetValue: Integer; stdcall;
    procedure SetValue(New: Integer); stdcall;
    procedure Increase; stdcall;
    function RefCount: Integer; stdcall;
  end;

type
  TDllNumber = class(TComObject, INumber)
  private
    Value: Integer;
  public
    function GetValue: Integer; virtual; stdcall;
    procedure SetValue(New: Integer); virtual; stdcall;
    procedure Increase; virtual; stdcall;
    function RefCount: Integer; stdcall;
    procedure Initialize; override;
    destructor Destroy; override;
  end;

implementation

uses
  Windows, ComServ, SysUtils;

procedure TDllNumber.Initialize;
begin
  inherited;
  Value := 10;
end;

destructor TDllNumber.Destroy;
begin
  inherited;
  MessageBox(0,
    PChar('Object ' + IntToStr(Value) + ' Destroyed'),
    'TDLLNumber', mb_OK); // API call
end;

function TDllNumber.GetValue: Integer;
begin
  Result := Value;
end;

procedure TDllNumber.SetValue(New: Integer);
begin
  Value := New;
end;

procedure TDllNumber.Increase;
begin
  Inc(Value);
end;

function TDllNumber.RefCount: Integer;
begin
  Result := inherited RefCount;
end;

initialization
  TComObjectFactory.Create(
    ComServer, TDllNumber, CLSID_TDllNumber,
    'Md3.FirstCom', 'Md3 First COM Server',
    ciMultiInstance);
end.
Скачать весь проект




Похожие по теме исходники

DBLookupComboBox in StringGrid

e-Bay Commerce

Fractal Compression

Easy Compress Jpg

 

Component TClock

Component ZSImage

Compare Algo Circles

SMTP Component

 

fwIoCompletionPipe

Stud WebServer (web-сервер)

Proxy 1.0 (прокси-сервер)




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте