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

•  DeLiKaTeS Tetris (Тетрис)  4 161

•  TDictionary Custom Sort  6 226

•  Fast Watermark Sources  6 026

•  3D Designer  8 921

•  Sik Screen Capture  6 357

•  Patch Maker  6 775

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

•  ListBox Drag & Drop  5 634

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

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

•  Рисование по маске  6 254

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

•  Canvas Drawing  5 521

•  Рисование Луны  5 220

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

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

•  Paint on Shape  2 627

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

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

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

•  Пазл Numbrix  2 366

•  Заборы и коммивояжеры  3 046

•  Игра HIP  2 003

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

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

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

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

•  Проверка числового ввода  2 125

•  HEX View  2 460

•  Физический маятник  2 079

 
скрыть

  Форум  

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

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