被delphi的指针搞糊涂了
C++里面指针可以这样
void **a;
那么a就是指针的指针,这个在delphi里怎么定义?
我知道void *可以用pointer带
还有就是
c++里面可以
void *a;
(*a)=NULL;
这个转成delphi又如何?
呵呵,
var
p: Pointer; // (无类型)指针
pp: PPointer; // (无类型)指针的指针
begin
p := nil;
// pp := nil;
end;
那么c++中如果定义了一个函数指针a,并通过getprocaddress的方式给a赋值
之后用if(a!=NULL)去检查是否得到了函数指针
换成delphi该写成什么呢?
type
TFunc : function() : integer;stdcall;
var FFunc : TFunc;
begin
@FFunc := GetProcaddress();
end;
或者这样
var
FFunc : function() : integer;stdcall;
begin
@FFunc := GetProcAddress();
end;
if Assigned(fFunc) then
begin
//...
end;
相关问答:
我写了个小程序,上面添加了一个shockwaveflash控件,然后在movie里写入swf文件的路径,然后执行没有问题。
当我把这个程序转移到另一台电脑执行时, shockwaveflash 控件显示空白。也就是没有加载那个swf文件。 ......
procedure RunFunction;
type
TFunc = function(A: Integer): Integer;stdcall; //这里根据DLL里面函数的声明修改
var
......
procedure DynArrayDelete(var A;elSize:Longint;index,Count:Integer);
var
len,MaxDelete:Integer;
P:PLongint; //4 个字节的长整形指针
begin
P:=PLongint(A);// 取的 A 的 ......
有什么构想讨论一下。
这类东西主要是人气和界面花哨,技术上没什么难点.
这我知道,那技术上的呢?有没有构想一下该怎么设计?主要是delphi自身能不能够完成,若同时大量客户登陆,反应速度如何等等。
引用
......