Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.12;
Скачать: CL | DM;

Вниз

TWAIN_32.DLL   Найти похожие ветки 

 
yus   (2008-04-13 21:08) [0]

В интернете нашел описание TWAIN_32.DLL, пытаюсь подключить, но выдает ошибку точки входа dll
Уважаемые Мастера, подскажите в чем ошибка?

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;

type
 TForm1 = class(TForm)
   Image1: TImage;
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
function TWAIN_AcquireNative(hwnd: HWND; pixmask: Integer): HBitmap;external  "TWAIN_32.dll" name "TWAIN_AcquireNative";

function TWAIN_CreateDibPalette(hdib: HBitmap):Integer; external  "TWAIN_32.dll" name "TWAIN_CreateDibPalette";

procedure TWAIN_DrawDibToDC(hDC: HDC;dx, dy, w, h: Integer;hDib: HBitmap;sx, sy: Integer); external  "TWAIN_32.dll" name "TWAIN_DrawDibToDC";

procedure TWAIN_FreeNative(hDIB: HBitmap); external  "TWAIN_32.dll";

var
 Form1: TForm1;

implementation

{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
dat: hBitMap;
PInfo: PBitMapInfoHeader;
Height, Width: integer;
MyBitMap:TBitMap;
{Ôóíêöèÿ âîçâåäåíèÿ 2 â ñòåïåíü s}
function stp2(s: byte): longint;
var
m: longint;
i: byte;
begin
m := 2;
for i := 2 to s do
m := m * 2;
stp2 := m;
end;

begin
{Ïîëó÷àåì óêàçàòåëü íà ãðàôè÷åñêèå äàííûå}
dat := TWAIN_AcquireNative(Handle, 0);
if dat <> 0 then
begin
{&#207;&#238;&#235;&#243;&#247;&#224;&#229;&#236; &#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252; &#237;&#224; &#238;&#225;&#235;&#224;&#241;&#242;&#252; &#239;&#224;&#236;&#255;&#242;&#232; &#241;&#238;&#228;&#229;&#240;&#230;&#224;&#249;&#229;&#233; DIB
&#228;&#224;&#237;&#237;&#251;&#229; &#232; &#225;&#235;&#238;&#234;&#232;&#240;&#243;&#229;&#236; &#238;&#225;&#235;&#224;&#241;&#242;&#252; &#239;&#224;&#236;&#255;&#242;&#232;}
PInfo := GlobalLock(dat);
{&#192;&#237;&#224;&#235;&#232;&#231;&#232;&#240;&#243;&#229;&#236; &#239;&#238;&#235;&#243;&#247;&#229;&#237;&#237;&#251;&#229; &#228;&#224;&#237;&#237;&#251;&#229;}
Height := PInfo.biHeight;
Width := PInfo.biWidth;
{&#211;&#231;&#237;&#224;&#229;&#236; &#240;&#224;&#231;&#236;&#229;&#240; &#239;&#238;&#235;&#243;&#247;&#229;&#237;&#237;&#238;&#227;&#238; &#232;&#231;&#238;&#225;&#240;&#224;&#230;&#229;&#237;&#232;&#255; &#226; &#241;&#224;&#237;&#242;&#232;&#236;&#229;&#242;&#240;&#224;&#245;}

//Wcm.Caption := floatToStrF(100 / PInfo.biXPelsPerMeter * Width, ffNumber,8,3)+ " cm";
//Hcm.Caption := floatToStrF(100 / PInfo.biYPelsPerMeter * Height, ffNumber,8, 3)+ " cm";
{&#206;&#239;&#240;&#229;&#228;&#229;&#235;&#255;&#229;&#236; &#247;&#232;&#241;&#235;&#238; &#246;&#226;&#229;&#242;&#238;&#226; &#226; &#232;&#231;&#238;&#225;&#240;&#224;&#230;&#229;&#237;&#232;&#232;}
//Colors.Caption := floatToStrF(stp2(PInfo.biBitCount), ffNumber, 8, 0) +  " &#246;&#226;&#229;&#242;&#238;&#226;";

{&#208;&#224;&#231;&#225;&#235;&#238;&#234;&#232;&#240;&#243;&#229;&#236; &#239;&#224;&#236;&#255;&#242;&#252;}
GlobalUnlock(dat);
{&#207;&#229;&#240;&#229;&#228;&#224;&#229;&#236; &#226; &#225;&#232;&#242;&#238;&#226;&#243;&#254; &#236;&#224;&#242;&#240;&#232;&#246;&#243; &#227;&#240;&#224;&#244;&#232;&#247;&#229;&#241;&#234;&#232;&#229; &#228;&#224;&#237;&#237;&#251;&#229;}
{&#200; &#243;&#241;&#242;&#224;&#237;&#224;&#226;&#235;&#232;&#226;&#224;&#229;&#236; &#239;&#229;&#240;&#229;&#245;&#226;&#224;&#242; &#238;&#248;&#232;&#225;&#238;&#234;}
MyBitMap:=Image1.Picture.Bitmap;
try
MyBitMap.Palette := TWAIN_CreateDibPalette(dat);
MyBitMap.Width := Width;
MyBitMap.Height := Height;
TWAIN_DrawDibToDC(MyBitMap.Canvas.Handle, 0, 0, Width, Height, dat, 0,
0);
except
// &#206;&#225;&#240;&#224;&#225;&#224;&#242;&#251;&#226;&#224;&#229;&#236; &#237;&#224;&#232;&#225;&#238;&#235;&#229;&#229; &#226;&#229;&#240;&#238;&#255;&#242;&#237;&#243;&#254; &#238;&#248;&#232;&#225;&#234;&#243; &#241;&#226;&#255;&#231;&#224;&#237;&#237;&#243;&#254;
// &#241; &#237;&#229; &#245;&#226;&#224;&#242;&#234;&#238;&#233; &#240;&#229;&#241;&#243;&#240;&#241;&#238;&#226; &#228;&#235;&#255; &#231;&#224;&#227;&#240;&#243;&#231;&#234;&#232; &#232;&#231;&#238;&#225;&#240;&#224;&#230;&#229;&#237;&#232;&#255;
on EOutOFResources do
MessageDlg("TBitMap: H&#229;&#242; &#240;&#229;&#241;&#243;&#240;&#241;&#238;&#226; &#228;&#235;&#255; &#231;&#224;&#227;&#240;&#243;&#231;&#234;&#232; &#232;&#231;&#238;&#225;&#240;&#224;&#230;&#229;&#237;&#232;&#255;!",
mtError, [mbOk], 0);
end;
{&#206;&#242;&#238;&#225;&#240;&#224;&#230;&#224;&#229;&#236; &#227;&#240;&#224;&#244;&#232;&#247;&#229;&#241;&#234;&#232;&#229; &#228;&#224;&#237;&#237;&#251;&#229;}
Image1.Picture.Graphic := MyBitMap;
{&#206;&#241;&#226;&#238;&#225;&#238;&#230;&#228;&#224;&#229;&#236; &#239;&#224;&#236;&#255;&#242;&#252; &#231;&#224;&#237;&#255;&#242;&#243;&#254; &#227;&#240;&#224;&#244;&#232;&#247;&#229;&#241;&#234;&#232;&#236;&#232; &#228;&#224;&#237;&#237;&#251;&#236;&#232;}
TWAIN_FreeNative(dat);
end;
end;

end.


 
МистерТ   (2008-04-14 10:10) [1]

В неправильно прочтенной статье.
Exports from TWAIN_32.dll
 5 exported name(s), 6 export addresse(s).  Ordinal base is 1.
 Sorted by Name:
   RVA      Ord. Hint Name
   -------- ---- ---- ----
   00003D81    4 0000 AboutDlgProc
   00003CAA    3 0001 ChooseDlgProc
   00003B35    1 0002 DSM_Entry
   00003E04    6 0003 InfoHook
   00003DC9    5 0004 WGDlgProc

Поищи MultiTWAIN.pas



Страницы: 1 вся ветка

Текущий архив: 2009.04.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
3-1219063290
kirillrepin
2008-08-18 16:41
2009.04.12
Заполнение DBListBox при помощи StoredProc


6-1202161712
NikB
2008-02-05 00:48
2009.04.12
Пример временного стоп-а TIdPeerThread в TIdHTTPServer


15-1234450115
Типа самый умный
2009-02-12 17:48
2009.04.12
Создание экспортируемой функции в ехе


2-1235320820
KillaTank
2009-02-22 19:40
2009.04.12
Модальное окно в ДБ


2-1235165863
Mops
2009-02-21 00:37
2009.04.12
TWebBrowser