J
Jams
Unregistered / Unconfirmed
GUEST, unregistred user!
对于Dll最好的例子就是字符串反转了,即ReverseStr,这在大多数的书常
作为典型的事例进行介绍。本人也曾按书中的方法实现过,并将处理过秤记录
于书上(因为书中并无该例程的调用),运行环境为D3.
可是,近几日本人又需要此了,按书中的例程输入,确出了问题,该想到的都
想到了,并卸掉D4,装D3,问题依然如此。重装D4,无任何好转,部分实例:
Uses
...
Procedure ReverseStr(toReverseStr: PChar); Export; stdcall; (1)
Begin
myDll(toReverseStr); (2)
End;
Exports;
ReverseStr;
Begin
End.
若按(1)式写,则在运行时,跟踪至(2)时,ToReverseStr的值为',**'杂乱无章
的字串,长度为3;
若将(1)中的Stdcall去掉,则(2)中的ToReverseStr则为调用程序传过来的
字串。
感到奇怪的是,原先使用该过程时一点毛病没有,咋今天又出猫儿眼了?书上
说stdcall可为以后各软弱的调用设置的,最好带着它,不知为何有了stdcall
就出问题了?!
作为典型的事例进行介绍。本人也曾按书中的方法实现过,并将处理过秤记录
于书上(因为书中并无该例程的调用),运行环境为D3.
可是,近几日本人又需要此了,按书中的例程输入,确出了问题,该想到的都
想到了,并卸掉D4,装D3,问题依然如此。重装D4,无任何好转,部分实例:
Uses
...
Procedure ReverseStr(toReverseStr: PChar); Export; stdcall; (1)
Begin
myDll(toReverseStr); (2)
End;
Exports;
ReverseStr;
Begin
End.
若按(1)式写,则在运行时,跟踪至(2)时,ToReverseStr的值为',**'杂乱无章
的字串,长度为3;
若将(1)中的Stdcall去掉,则(2)中的ToReverseStr则为调用程序传过来的
字串。
感到奇怪的是,原先使用该过程时一点毛病没有,咋今天又出猫儿眼了?书上
说stdcall可为以后各软弱的调用设置的,最好带着它,不知为何有了stdcall
就出问题了?!