自定义事件传的参数出现乱码解决办法
自定义事件传的参数出现乱码
ReceiveMsg收不到正确的字符,不知道是什么原因.
------解决方案--------------------
自己动手解决了
------解决方案--------------------
------解决方案--------------------
- Delphi(Pascal) code
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TMyClass = class private FGetStrProc:TGetStrProc; public property GetStrProc:TGetStrProc read FGetStrProc write FGetStrProc; procedure OnGetStrProc; end; TForm1 = class(TForm) btn1: TButton; procedure FormCreate(Sender: TObject); procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; MyObject:TMyClass; implementation {$R *.dfm} { TMyClass } procedure TMyClass.OnGetStrProc; begin if Assigned(FGetStrProc) then FGetStrProc('Hello, World'); end; procedure ReceiveMsg(const S: string); begin ShowMessage(s); //此处得到的是乱码 end; procedure TForm1.FormCreate(Sender: TObject); var TmpEvent:TGetStrProc; begin MyObject := TMyClass.Create; TMethod(TmpEvent).Code := @ReceiveMsg; TMethod(TmpEvent).Data := MyObject; MyObject.GetStrProc := TmpEvent; end; procedure TForm1.btn1Click(Sender: TObject); begin MyObject.OnGetStrProc; end; end.
ReceiveMsg收不到正确的字符,不知道是什么原因.
------解决方案--------------------
自己动手解决了
------解决方案--------------------
------解决方案--------------------