环境:Delphi2005 Archetect Edition (至少是Update1)我在程序中定义了:
type
TFunction=function (input:Extended):Extended of object;stdcall;
.... TFunctions=class
.......
public
layer1:TFunction;
d_layer1:TFunction;
middle_layer:TFunction;
d_middle_layer:TFunction;
last_layer:TFunction;
d_last_layer:TFunction;
constructor Create(DLLFileName:string);
destructor Destroy;override;
end;然后用LoadLibrary和GetProcAddress成功装入layer1,d_layer1等等内容,然而…… procedure MapIO;
var i,j:integer;
begin
.......
IO_map[i,j].O:=func.layer1(IO_map[i,j].I) <-- 就在这里,func是TFunctions的实例,调用了func.layer1(他是从DLL中装入的)之后,j被改变了…… why??? 在DLL中:
function layer1(input: Extended): Extended;stdcall;
begin
Result:=input;
end;错在哪里了???还有阿,我试过如果不是从dll读进来,而是使用另外一个类的方法的时候,则可以成功运行。我突然想到问题可能出在哪里了,不过还得试试看是不是。
type
TFunction=function (input:Extended):Extended of object;stdcall;
.... TFunctions=class
.......
public
layer1:TFunction;
d_layer1:TFunction;
middle_layer:TFunction;
d_middle_layer:TFunction;
last_layer:TFunction;
d_last_layer:TFunction;
constructor Create(DLLFileName:string);
destructor Destroy;override;
end;然后用LoadLibrary和GetProcAddress成功装入layer1,d_layer1等等内容,然而…… procedure MapIO;
var i,j:integer;
begin
.......
IO_map[i,j].O:=func.layer1(IO_map[i,j].I) <-- 就在这里,func是TFunctions的实例,调用了func.layer1(他是从DLL中装入的)之后,j被改变了…… why??? 在DLL中:
function layer1(input: Extended): Extended;stdcall;
begin
Result:=input;
end;错在哪里了???还有阿,我试过如果不是从dll读进来,而是使用另外一个类的方法的时候,则可以成功运行。我突然想到问题可能出在哪里了,不过还得试试看是不是。
解决方案 »
- 在线等!!delphi7控件Caption属性只显示英文,不显示中文!!!!急!!!
- RAIZE的气泡提示RzBalloonHints怎么用?
- 求助!!!!多个checkbox分组要求组中至少有一个是checked
- 程序覆盖问题
- 菜鸟在设计界面是遇到的问题?散分啦!!!!
- 更新数据库速度慢的问题!
- 关于数据库搜索问题 控件Query
- 文件和图标!急急急!!!十万火急!!!
- SHAREWARE CAREER SUGGESTIONS WANTED, TKS!
- 我是一名Delphi的菜鸟,现有一个小小的问题向各位前辈请教!
- 怎样制作安装程序用哪个安装制作软件好一些简单一些???
- 如何释放scrollbox上动态创建的一组按钮?
TNotifyEvent = procedure(Sender: TObject) of object;
TMainForm = class(TForm)
procedure ButtonClick(Sender: TObject);
...
end;
var
MainForm: TMainForm;
OnClick: TNotifyEventwe could make the following assignment.OnClick := MainForm.ButtonClick;