ÓÃdelphiÖÆ×÷OCX¿âÎļþ£¨Èý£©
¿ª·¢²½Ö裺
1¡¢´´½¨ActiveX Library¹¤³Ì¡£
2¡¢´´½¨COM Object¡£
3¡¢´´½¨Type Library£¬²¢´´½¨ÏàÓ¦½Ó¿Ú¡£
4¡¢´´½¨½Ó¿Ú¶ÔÓ¦µÄº¯ÊýºÍʵÏÖ¡£
¾ßÌåÈçÏ£º
3¡¢´´½¨Type Library£¬²¢´´½¨ÏàÓ¦½Ó¿Ú¡£
view|type library
ÕÒµ½ÒѾÉú³ÉµÄtype library,ÆäʵºÍTLBÎļþÊǶÔÓ¦µÄ¡£
ÎÒÃÇ¿ÉÒÔ¿´µ½ÉÏÒ»²½Éú³ÉµÄ¶ÔÏóÒ²º¬ÔÚÀïÃæ¡£
ÎÒÃÇÔÚÀïÃæÉú³ÉÐµķ½·¨£¬²¢¶¨ÒåºÃ·½·¨µÄ²ÎÊý¡£
×¢Ò⣺integerºÍStringÔÚOCXÀï¶ÔÓ¦µÄÀàÐÍ·Ö±ðΪlongºÍBStr»òÕßWideString¡£Ä¿µÄÊÇΪÁ˱ãÓÚÍøÂçÉÏ´«²¥Ê±¸÷¸öϵͳ¼æÈݵÄÐèÒª¡£
·µ»ØÖµ±ØÐëΪָÕëÀàÐÍ£¬ModifierΪ·µ»Ø±êÖ¾£¬[in]ΪÊäÈë²ÎÊý£¬[out,RetVal]ΪÊä³ö¼Ó·µ»ØÖµ¡£
ÔÚClass Name(±¾ÀýÀïÀàÃûÀïÌîObject£¬¿É°´×Ô¼ºÐèÒªÌîд) ÌîдÀàÃû.(Instancing:ʵÀý´´½¨·½Ê½,Threading Model:Ïß³Ìģʽ.) Æä
ÖÐImplemented Interface(½Ó¿ÚÃû)×Ô¶¯Éú³É.
µãˢа´Å¥Ö®ºó£¬ÔÚTLBºÍʵÏÖµ¥ÔªÀï¶¼ÓÐÁ˹ØÓÚÕâ¸ö½Ó¿Úº¯ÊýµÄ¶¨Òå¡£
ʣϵÄÖ»ÒªÔÚʵÏÖµ¥ÔªÀïÍê³ÉʵÏֵĴúÂë¼´¿É¡£
4¡¢´´½¨½Ó¿Ú¶ÔÓ¦µÄº¯ÊýºÍʵÏÖ¡£
¾ßÌåʵÏÖ¡£
type
TOjbect = class(TTypedComObject, IOjbect)
protected
function Method1(Param1, Param2: Integer; out Param3: Integer): HResult;
stdcall;
end;
implementation
uses ComServ;
function TOjbect.Method1(Param1, Param2: Integer;
out Param3: Integer): HResult;
begin
//¾ßÌåʵÏÖ
end;
Ïà¹ØÎĵµ£º
ÓÉÓÚ×é¼þÌṩµÄ·½Ê½²»Í¬£¬ËùÒÔ°²×°µÄ·½·¨Ò²ÊDz»Ò»ÑùµÄ£¬ÏÂÃæ¾ÍĿǰ³£¼ûµÄ¸÷ÖÖÐÎʽµÄ×é¼þµÄ°²×°·½·¨½éÉÜһϡ£
1 Ö»ÓÐÒ»¸öDCUÎļþµÄ×é¼þ¡£DCUÎļþÊDZàÒëºÃµÄµ¥ÔªÎļþ£¬ÕâÑùµÄ×é¼þÊÇ×÷Õß²»Ïë°ÑÔ´Â빫²¼¡£Ò»°ãÀ´Ëµ£¬×÷Õß±ØÐë˵Ã÷´Ë×é¼þÊʺÏDelphiµÄÄÄÖÖ°æ±¾£¬Èç¹û°æ±¾²»¶ ......
Client:TSocketConnection ºÍServer: Scktsrvr¹ØÏµ----ѹËõÊý¾Ý´«Êä
Ò»Ö±ÓÃSocketConnectionºÍ·þÎñ¶ËµÄ´«ÊäÊý¾ÝÔÚÈý²ãÊý¾Ý¿âÖУ¬´ÓÀ´Ã»ÓÐ×¢Òâµ½ËüÃÇÖ®¼äµÄÊý¾Ý´«Ê䣬ֻÊÇÏë×Å£¬¹ÜËüÁË£¬ÍøÂçµÄÊ£¬Ç°¶Îʱ¼äÔÚDelphiÖеÄDemosÖз¢ÏÖDemos\Midas\Intrcpt.dprÀý×Ó£¬ºÇºÇ£¬ÔÙ¿´Á˰ëÌìµÄVCL·¢ÏÖ¿ÉÒÔ½«Client¶Ë·¢Ë͵ĸøServerµÄÊ ......
×¢£º ʹÓôíÎ󣬻òÕßÔڸüӵĵط½Ã»Óмӣ¬¿ÉÄÜ»á³öÏÖ"privileged instruction"´íÎ󣬻òÕßµØÖ··ÃÎÊ´íÎó¡£
³£¼ûµÄµ÷ÓùßÀýÓÐregister, pascal, cdecl, stdcall, safecall¡£º¯ÊýµÄµ÷ÓùÜÀí¾ö¶¨Á˲ÎÊýÈçºÎ´«µÝ¸ø×Ó¹ý³Ì£¬²¢´Ó¶ÑÕ»ÖÐÍ˳ö£¬ÒÔ¼°¼Ä´æÆ÷ÔÚ²ÎÊý´«µÝÖеÄʹÓ㬴íÎóºÍÒì³£µÄ´¦Àí¡£DelphiÖÐĬÈϵĵ ......
// ÅжÏÊÇ·ñÊÇÊýÖµÐÍ By yangxiao 2007.7.21
function isNumeric(strText: WideString): Boolean;
var
s: string;
i, l, p: Integer;
begin
Result := False;
l := Length(strText);
if l = 0 then Exit;
s := '';
for i:=1 to l do
......