C
Carem
Unregistered / Unconfirmed
GUEST, unregistred user!
我在窗体的use中调用了一个自己写的api.pas的文件,编译的时候没问题,但是运行的时候老是出错,而且总是一个在同一个地址上!请问怎么回事?<br><br>我自己写的api.pas 和 unit3<br><br>unit api;<br>interface<br>uses SysUtils, Classes;<br><br>function ToUnicode(str:string;destWideChar):integer;<br>function SendMsg(Toh,From,Msg:string):integer;<br>function NetMessageBufferSend(servernameWideChar;<br> MsgNameWideChar;<br> FromNameWideChar;<br> Buf: PWideChar;<br> var BufLen:integer):integer;cdecl;<br>implementation<br>function ToUnicode(str:string;destWideChar):integer;<br>var<br> len:integer;<br>begin<br> StringToWideChar(str,dest,len);<br> Result:=len;<br>end;<br><br><br>function NetMessageBufferSend; external 'netapi32.dll' name 'NetMessageBufferSend';<br><br>function SendMsg(Toh,From,Msg:string):integer;<br>var<br> ToName :array [0..64] of WideChar;<br> WMsgText:array [0..1000] of WideChar;<br> MsgLen, i:integer;<br>begin<br> for i := 0 to 64 do ToName := #0;<br> ToUnicode(Toh,ToName);<br> for i := 0 to 1000 do WMsgText := #0;<br> ToUnicode(Msg,WMsgText);<br> Result:=NetMessageBufferSend(nil,ToName,nil,@WMsgText,MsgLen);<br>end;<br><br>end.<br><br>-----------------------------------------------------------------------<br><br><br>unit Unit3;<br><br>interface<br><br>uses api,<br> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,<br> ComCtrls, SUIStatusBar, StdCtrls, SUIMemo, SUIButton, SUIComboBox,<br> ExtCtrls, SUIForm;<br><br>type<br> TForm3 = class(TForm)<br> suiForm1: TsuiForm;<br> suiComboBox1: TsuiComboBox;<br> suiComboBox2: TsuiComboBox;<br> suiButton1: TsuiButton;<br> suiButton2: TsuiButton;<br> suiMemo1: TsuiMemo;<br> suiStatusBar1: TsuiStatusBar;<br> procedure FormCreate(Sender: TObject);<br> procedure suiButton1Click(Sender: TObject);<br> private<br> { Private declarations }<br> username:string;<br> messageheader:tstringlist;<br> public<br> { Public declarations }<br> end;<br><br>var<br> Form3: TForm3;<br><br>implementation<br><br>uses Unit1;<br><br>{$R *.DFM}<br><br>procedure TForm3.FormCreate(Sender: TObject);<br>var<br>struserchar;<br>strsize:dword;<br>begin<br>suicombobox1.items:=form1.suiComboBox1.items;<br>suimemo1.lines.Clear ;<br>strsize:=100;<br>getusername(struser,strsize);<br>username:=struser;<br>messageheader:=tstringlist.create;<br>messageheader.Add ('');<br>messageheader.Add (username+'对你说:');<br>messageheader.Add ('');<br>end;<br><br><br>procedure TForm3.suiButton1Click(Sender: TObject);<br>var<br>res:integer;<br>begin<br>if suicombobox2.enabled = true then<br> res := SendMsg(suicombobox1.text,'',messageheader.text+suicombobox2.text)<br> else<br> res := SendMsg(suicombobox1.text,'',messageheader.text+suimemo1.text);<br>end;<br><br><br>end.<br>