DelphiÖÐÁ÷µÄ»ù±¾¸ÅÄî¼°º¯ÊýÉùÃ÷
Ò»¡¢DelphiÖÐÁ÷µÄ»ù±¾¸ÅÄî¼°º¯ÊýÉùÃ÷
ÔÚDelphiÖÐ,ËùÓÐÁ÷¶ÔÏóµÄ»ùÀàΪTStreamÀà,ÆäÖж¨ÒåÁËËùÓÐÁ÷µÄ¹²Í¬ÊôÐԺͷ½·¨¡£ TStreamÀàÖж¨ÒåµÄÊôÐÔ½éÉÜÈçÏÂ: 1¡¢Size:´ËÊôÐÔÒÔ×Ö½Ú·µ»ØÁ÷ÖÐÊý¾Ý´óС¡£ 2¡¢Position:´ËÊôÐÔ¿ØÖÆÁ÷ÖдæÈ¡Ö¸ÕëµÄλÖᣠTstreamÖж¨ÒåµÄÐé·½·¨ÓÐËĸö: 1¡¢Read:´Ë·½·¨ÊµÏÖ½«Êý¾Ý´ÓÁ÷ÖжÁ³ö¡£º¯ÊýÔÐÎΪ: Function Read(var Buffer;Count:Longint):Longint;virtual;abstract; ²ÎÊýBufferΪÊý¾Ý¶Á³öʱ·ÅÖõĻº³åÇø,CountΪÐèÒª¶Á³öµÄÊý¾ÝµÄ×Ö½ÚÊý,¸Ã·½·¨·µ»ØÖµÎªÊµ¼Ê¶Á³öµÄ×Ö½ÚÊý,Ëü¿ÉÒÔСÓÚ»òµÈÓÚCountÖÐÖ¸¶¨µÄÖµ¡£ 2¡¢Write:´Ë·½·¨ÊµÏÖ½«Êý¾ÝдÈëÁ÷ÖС£º¯ÊýÔÐÎΪ: Function Write(var Buffer;Count:Longint):Longint;virtual;abstract; ²ÎÊýBufferΪ½«ÒªÐ´ÈëÁ÷ÖеÄÊý¾ÝµÄ»º³åÇø,CountΪÊý¾ÝµÄ³¤¶È×Ö½ÚÊý,¸Ã·½·¨·µ»ØÖµÎªÊµ¼ÊдÈëÁ÷ÖеÄ×Ö½ÚÊý¡£ 3¡¢Seek:´Ë·½·¨ÊµÏÖÁ÷ÖжÁȡָÕëµÄÒÆ¶¯¡£º¯ÊýÔÐÎΪ: Function Seek(Offset:Longint;Origint:Word):Longint;virtual;abstract; ²ÎÊýOffsetÎªÆ«ÒÆ×Ö½ÚÊý,²ÎÊýOrigintÖ¸³öOffsetµÄʵ¼ÊÒâÒå,Æä¿ÉÄܵÄȡֵÈçÏÂ: sofromBeginning:OffsetÎªÒÆ¶¯ºóÖ¸Õë¾àÀëÊý¾Ý¿ªÊ¼µÄλÖᣴËʱOffset±ØÐë´óÓÚ»òÕßµÈÓÚÁã¡£ sofromCurrent:OffsetÎªÒÆ¶¯ºóÖ¸ÕëÓ뵱ǰָÕëµÄÏà¶ÔλÖᣠsofromEnd:OffsetÎªÒÆ¶¯ºóÖ¸Õë¾àÀëÊý¾Ý½áÊøµÄλÖᣴËʱOffset±ØÐëСÓÚ»òÕßµÈÓÚÁã¡£¸Ã·½·¨·µ»ØÖµÎªÒƶ¯ºóÖ¸ÕëµÄλÖᣠ4¡¢Setsize:´Ë·½·¨ÊµÏָıäÊý¾ÝµÄ´óС¡£º¯ÊýÔÐÎΪ: Function Setsize(NewSize:Longint);virtual; ÁíÍâ,TStreamÀàÖл¹¶¨ÒåÁ˼¸¸ö¾²Ì¬·½·¨: 1¡¢ReadBuffer:´Ë·½·¨µÄ×÷ÓÃÊÇ´ÓÁ÷Öе±Ç°Î»ÖöÁÈ¡Êý¾Ý¡£º¯ÊýÔÐÎΪ: Procedure ReadBuffer(var Buffer;Count:Longint); ²ÎÊýµÄ¶¨Òå¸úÉÏÃæµÄReadÏàͬ¡£×¢Òâ:µ±¶ÁÈ¡µÄÊý¾Ý×Ö½ÚÊýÓëÐèÒª¶ÁÈ¡µÄ×Ö½ÚÊý²»Ïàͬʱ,½«²úÉúEReadErrorÒì³£¡£ 2¡¢WriteBuffer:´Ë·½·¨µÄ×÷ÓÃÊÇÔÚµ±Ç°Î»ÖÃÏòÁ÷дÈëÊý¾Ý¡£º¯ÊýÔÐÎΪ: Procedure WriteBuffer(var Buffer;Count:Longint); ²ÎÊýµÄ¶¨Òå¸úÉÏÃæµÄWriteÏàͬ¡£×¢Òâ:µ±Ð´ÈëµÄÊý¾Ý×Ö½ÚÊýÓëÐèҪдÈëµÄ×Ö½ÚÊý²»Ïàͬʱ,½«²úÉúEWriteErrorÒì³£¡£ 3¡¢Copyfrom:´Ë·½·¨µÄ×÷ÓÃÊÇ´ÓÆäËüÁ÷Öп½±´Êý¾ÝÁ÷¡£º¯ÊýÔÐÎΪ: Function Copyfrom(Source:TStream;Count:Longint):Longint; ²ÎÊýSourceΪÌṩÊý¾ÝµÄÁ÷,CountΪ¿½±´µÄÊý¾Ý×Ö½ÚÊý¡£µ±Count´óÓÚ0ʱ,Copyfrom´ÓSource²ÎÊýµÄµ±Ç°Î»Öÿ½±´Count¸ö×Ö½ÚµÄÊý¾Ý;µ±CountµÈÓÚ0ʱ,CopyfromÉèÖÃSource²ÎÊýµÄPositionÊôÐÔΪ
Ïà¹ØÎĵµ£º
unit DvsLinkingClass;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, Forms, Dialogs;
type
PRecLinkNode = ^RecLinkNode;
RecLinkNode = record
NodeMsg: String;
Counter: Integer;
Previous: PRecLinkNode;
Next: PRecLinkNode;
end;
TLinkingClass = class
......
program PureAPIWindow;
uses
SysUtils,
Windows,
Messages;
const
WinClassName = 'DvsClass';
StrOut = 'Davis TextOut';
//´°¿Ú»Øµ÷º¯Êý
function MyWinProc(
hWindow: HWND;
aMessage: UINT;
WParam: WPARAM;
LParam: LPARAM): LRESULT; stdcall; export;
......
1¡¢µ±È»ÊÇÏÈÒªÐ¶ÔØÒÔǰ°²×°µÄEhlib×é¼þÁË£¬Ôڲ˵¥µÄ“Component”µÄ“install Packeges”ÀѡÔñehlib XX£¬Ñ¡Ôñ“Remove”¡£
2¡¢½ÓÏÂÀ´ÔÚ¿âÀï¼ÓÈëÕâ¸ö¿Ø¼þµÄÒýÓ÷¾¶£¬ÏÈн¨Ò»¸öÎļþ¼Ð£¬±ÈÈç“D:\Component\Ehlib”£¨×îºÃ°ÑÒª°²×°µÄ¿Ø¼þ¶¼¿½±´µ½Õâ¸öComponentĿ¼Ï£©£¬È»ºó°Ñ ......
±êÌâ
Delphi¶à²ã¿ª·¢·½°¸±È½Ï £¨×ªÔØ£©
¹Ø¼ü×Ö
Delphi¶à²ã¿ª·¢·½°¸±È½Ï
³ö´¦
·½°¸->
Midas
DCOM
COM+
ASTA
RemoteObject
.NET
ÌṩÕß
Borland
΢Èí
΢Èí
http://www.astatech.com
http://www.remobjects.com
΢Èí
ºËÐļ¼Êõ
COM
COM
COM
ASTA×Ô¼ ......