ΪʲôCдDLLÎļþC¡¢PBÄܵ÷ÓÃVB²»Äܵ÷ÓÃ
ΪʲôCдµÄDLLÎļþC¡¢PBÄܵ÷ÓÃVB²»Äܵ÷Óã¿
VBÀïΪʲôÓеÄDLLÖ±½Óͨ¹ýÒýÓÿÉÒÔʹÓã¿ÓеÄÐèҪͨ¹ýdeclareÉêÃ÷Íⲿº¯Êý£¿ÕâЩDLLÓÐʲô²î±ð£¿
1¡¢ÎªÊ²Ã´PBÄÜͨ¹ýDECLAREÉùÃ÷¶øVB²»ÐУ¿
2¡¢Èç¹ûÕâ¸ödllÖеĺ¯ÊýÓÐÒýÓõ½±ðµÄdllÖеĺ¯Êý£¬ÊDz»ÊDZ»ÒýÓõĺ¯ÊýҲҪͨ¹ýdeclareÉùÃ÷ÆäÖб»ÒýÓõĺ¯Êý£¬²ÅÄÜʹÓÃ
¸Ðл2λ»Ø´ð£º»¹ÓÐһЩ¸ÅÄîºÜÄ£ºý
1¡¢Ê¹ÓÃdeclareºÍregsvr32×¢²ádllÓÐûÓÐʲô¹ØÏµ£¿
dll²»¾¹ýregsvr32ÃüÁî×¢²áÄÜ·ñͨ¹ýdeclareÉùÃ÷ÆäÖеĺ¯Êý£¿
2¡¢regsvr32×¢²áÃüÁΪʲôע²áºódll\ocx¾ÍÄܱ»Ó¦Óᢸ½¼þ£¬regsvr32×¢²áʱϵͳ·¢ÉúÁËʲô±ä»¯£¿»¹ÓÐ×¢²á±íÀïCLSID¡¢createobjectº¯Êý´´½¨¶ÔÏó¡¢getobject»ñÈ¡¶ÔÏóÓÐʲô¹ØÏµ
Ó²µÀÀí
ʧÃßÁË£¬Ã»ÓÐʲôµÀÀí~~~~~~~~~~~``
Á½ÖÖ²»Í¬µÄ dll ÀàÐÍ£º
COM dll µÄ½Ó¿Ú¶¨ÒåÔÚ TypeLib Info ÖУ¬±ØÐëͨ¹ý regsvr32 ½«¸ÃÐÅϢдÔÚ×¢²á±íÖУ¬È»ºó VB ²ÅÄÜͨ¹ýÒýÓþÍÄÜʹÓ᣸à dll µÄ·¾¶¼Ç¼ÔÚ×¢²á±íÖУ¬Ïàͬ dll µÄ¸±±¾Ö»ÒªÒ»¸öÊÇʵ¼Ê¿ÉÓõġ£
±ê×¼ dll µÄº¯ÊýÈë¿ÚÖ±½Ó¶¨ÒåÔÚ dll ÖУ¬±ØÐëÒªÓà Declare ÉùÃ÷¾ßÌåµÄº¯Êý¸ñʽ²ÅÄÜÕýÈ·µ÷Ó᣸à dll µÄλÖÃͨ¹ýËÑË÷·¾¶²éÕÒ£¬Èç¹ûʹÓÃÏà¶ÔĿ¼£¬Ïàͬ dll µÄ¸±±¾¿ÉÒԷֱ𱻲»Í¬µÄ exe ½øÐе÷Óá£
vbÊDz»ÊÇÖ»ÄÜдactivex dll£¨COM DLL£©£¿Äܲ»ÄÜд±ê×¼DLL? Äܲ»ÄÜÐ޸ĵ÷ÓÃÔ¼¶¨£¿ÔõôÐ޸ģ¿
¡°¸Ã dll µÄ·¾¶¼Ç¼ÔÚ×¢²á±íÖУ¬Ïàͬ dll µÄ¸±±¾Ö»ÒªÒ»¸öÊÇʵ¼Ê¿ÉÓõġ£¡±
ÊDz»ÊÇ¡°Ö»ÓÐÒ»¸öÊÇʵ¼Ê¿ÉÓõġ±
ÎÒÊÕ²ØÁËÒ»¸öÀà,¿Éµ÷ÓÃCDeclÓëStdCallµÄº¯Êý.
ÒÔÏ´úÂë´æÎªcCallAPI.cls:
VB code
Code highlighting produced by Act
Ïà¹ØÎÊ´ð£º
±àÒëÆÕͨµÄcûÎÊÌâ°¡£¬µ«±àÒëjavahÉú³ÉµÄ¾Í±¨´í£º
gcc -O0 -g3 -Wall -c -fmessage-length=0 -oHelloWorld.o ..\HelloWorld.c
gcc -otest.exe HelloWorld.o
d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../. ......
±àдһ¸ö³ÌÐòÓÃÁ´±íʵÏÖ£º½«Ò»¸öÉýÐòÕûÊýÊýÁеÄÖØ¸´Êý¾ÝÈ¥µô
±àºÃºó£¬½á¹û²»¶Ô°¡£¬ÇóÖúc¸ßÊÖ
#include <stdio.h>
#include <stdlib.h>
struct link
{
int number;
s ......
µØµãÔÚÉîÛÚÄÏɽ
¡¡¡¡×öCÈí¼þ¡£ÊÔÓÃ2K£¬²»ÖªµÀתÕý¸ø¹«Ë¾Ì¸¶àÉÙºÏÊʰ¡£¿
¡¡¡¡ÁíÍ⣬±¾ÈËС±¾£¬Ó¢ÓïÁù¼¶£¬ÊÔÓÃÈý¸öÔ±íÏÖµÃÒ²ËãÖÐÉÏˮƽ¡£µ«ÊÇÏÖÔÚ»¹²»ÄÜ×öÏîÄ¿¡£ÁíÍâ±ÏҵѧУûÓÐÃûÆø¡£
¡¡¡¡×ªÕý¸ø¹«Ë¾Ì¸¶àÉ ......
void Main(void)
{
while(1)
{
char aa;
Uart_Printf("\nEnter the 'Y' or 'y' to test:");
& ......