ÓÃ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;
Ïà¹ØÎĵµ£º
±Ï¾¹Win32³ÌÐòµÄ¿ª·¢£¬Delphi»¹ÊÇÓÐÍçÇ¿µÄÉúÃüÁ¦µÄ¡£
²Ù×÷²½ÖèÈçÏ£º
1.½¨Á¢ res Îļþ
½¨Á¢Ò»¸öÎı¾Îļþ£¬Ãû×Ö¿ÉÒÔ×Ô¼ºÆð£¬ÎÒÕâÀï½Ð£ºUAC.manifest£¬ÄÚÈÝ£º
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
......
ADO¶àÏß³ÌÊý¾Ý¿â²éѯͨ³£»á³öÏÖ3¸öÎÊÌ⣺
1¡¢CoInitialize ûÓе÷ÓÃ
£¨CoInitialize was not
called£©£»ËùÒÔ£¬ÔÚʹÓÃÈκÎdbGo¶ÔÏóÇ°£¬±ØÐëÊÖ
µ÷ÓÃCoInitializeºÍCoUninitialize¡£µ÷ÓÃCoInitializeʧ°Ü»á²úÉú"CoInitialize was not
called"ÀýÍâ¡£
2¡¢»²¼²»ÔÊÐí»æ»
£¨Canvas does not allow
drawing£ ......
3.2 Óû§µÇ¼·½°¸
ÔÚ½øÈëÒ»¸öϵͳʱ£¬±ØÐëÏÈÔڵǼ´°ÌåÖÐÊäÈëÕýÈ·µÄÓû§ÃûºÍÃÜÂë²ÅÄܽøÈë¡£ÕâÑù¿ÉÒÔÈ·±£ÏµÍ³µÄ°²È«ÐԺͱ£ÃÜÐÔ£¬µÇ¼´°ÌåµÄÖÆ×÷°´ÕÕϵͳµÄ´óС¼°Óô¦£¬¿ÉÒÔ·ÖΪ²»Í¬µÄµÇ¼´°ÌåÑùʽ£¬ÔÚϵͳµÚÒ»´ÎµÇ¼ǰ£¬Ê×ÏÈÒª¶Ô²Ù×÷Ô±ÐÅÏ¢½øÐÐÏàÓ¦µÄÉèÖᣱ¾½Ú½«¶ÔµÇ¼´°Ìå¼°²Ù×÷Ô±¹ÜÀí´°ÌåµÄÖÆ×÷¹ý³Ì½øÐÐÏêϸµÄ˵Ã÷ ......
// ÅжÏÊÇ·ñÊÇÊýÖµÐÍ 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
......
¿ª·¢²½Ö裺
1¡¢´´½¨ActiveX Library¹¤³Ì¡£
2¡¢´´½¨COM Object¡£
3¡¢´´½¨Type Library£¬²¢´´½¨ÏàÓ¦½Ó¿Ú¡£
4¡¢´´½¨½Ó¿Ú¶ÔÓ¦µÄº¯ÊýºÍʵÏÖ¡£
¾ßÌåÈçÏ£º
1¡¢´´½¨COM Object¡£
new|other|activeX|com object
ÔÚClass Name(±¾ÀýÀïÀàÃûÀïÌîObject£¬¿É°´×Ô¼ºÐèÒªÌîд) ÌîдÀàÃû.(Instancing:ʵÀý´´½¨·½Ê½,Threading Model:Ï ......