易截截图软件、单文件、免安装、纯绿色、仅160KB

VC中调用Delphi的DLL中的回调函数例子

//Delphi部分  
 //回调函数定义
type TOnMyCallBack = procedure(data:pchar; id:Integer);stdcall;  
 //DLL中的导出函数声明
procedure StartCall(param:   TOnMyCallBack(data:pchar; id:Integer);stdcall;  
begin
  ...  
  ...  
end;  
 
-----------------------------------------------------------------------------------------------------------------------------
//vc调用部分
typedef void (CALLBACK *MY_CallBack)(void *, char *data, int id);
void CALLBACK cxxGetDllData(void *data, int id)
{
     CString ss;
      ss.Format("%s:%d", data, id);
::MessageBox(NULL, "收到数据:", ss, MB_OK | MB_ICONWARNING);
}
 
void CTttDlg::OnOK()
{
//动态加载DLL到当前EXE的进程空间
     HINSTANCE hDll = LoadLibrary("d:\\temp\\test.dll");
if(!hDll)
{
:MessageBox(NULL, "加载动态链接库失败!", "Notice", MB_OK | MB_ICONWARNING);
        return ;
    }
    MY_CallBack hStartCall = (MY_CallBack) ::GetProcAddress(hDll, "StartCall");
    if(!hStartCall)
    {
        ::MessageBox(NULL,"获取StartCall函数地址错误!","Notice",MB_ICONWARNING);
        return ;
    }
       hStartCall(cxxGetDllData,"123456",100);  
}  


相关文档:

Delphi中用ADO系列控件获得存储过程的Return值

在Delphi中Ado系列控件使用xxxxx.Parameters.Refresh,可以获得存储过程的Return值
以TADOStoredProc为例
  ADOStoredProc1.Connection := 'xxxx';
  ADOStoredProc1.ProcedureName := 'XXXX';
  ADOStoredProc1.Parameters.Refresh;   //刷新存储过程的参数列表
 //参数赋值
 ADO ......

Delphi中的THashTable

在Delphi中,Inifiles单元中有一个TStringHash的类,不过它的Value仅支持Integer(其实也不是问题,有其它类型可以将变量变为Pointer),有点不舒服,今天没事做就把它替换为variant了,其中Key的名称大小写无关,就是为了加快开发速度!
使用Hashtable,查找和删除复杂度都是常数级别的!
type
PPHashItem = ^PHashItem;
......

Delphi 2010下安装IOComp

技术交流,DH讲解. IOComp是一套用于工业的图形化控件.
看下怎么在D2010下面安装吧.首先下载地址,来之 盒子,Download Here 解压缩后,需要做的步骤:
1 添加lib path
Tools –> Options –> Delphi Options

将你的解压缩目录添加进来.
2 删除相关PNG单元.
因为2010中 ......

DELPHI常用快捷键(转)

.pas ---- pascal的缩写, 单元原始程式档( unit source files )
.dpr ---- 专案档 ( project files )
.dpk ---- 包裹原始程式档/组件包 ( package source files )
.dfm ---- 表单档 (记录form的内容,除去这个内容就等于删除了form这个表单)
.dcu ---- 是编译好的单元文件.若只有一个dcu文件,则不能看到源代码. ......

Delphi 7 的一个奇怪的Bug

近来发现一个Delphi莫名其妙的bug,当使用SetOptionalParam时,不能使用一连串数字的字符串,如'101',注意,是带引号的。在SaveToFile时,就会出现'Invalid field type'的异常,真是百思不得其解!连'001'这种串也不行,去掉引号,直接按数字赋值,则正常。
procedure TForm1.Button1Click(Sender: TObject);
var
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号