掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FMXアプリケーションとVCLアプリケーションとの間で共有メモリー (ID:150250)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
重いですけど、DDEだと以下で通信できました。 //DDEで送信する クライアント側(VCL)Project1 uses Vcl.DdeMan; procedure TForm1.Button1Click(Sender: TObject); var DdeC:TDdeClientConv; begin DdeC:=TDdeClientConv.Create(self); //アプリケーション名(DDEサーバー側の.exe無し),TDDEServeerConv.name if DdeClientConv1.SetLink('Project2', 'dde') then begin DdeClientConv1.ExecuteMacro( PAnsiChar( AnsiString( dupeString('12345678901234567890'#13#10,1024*1024) ) ),true); end; DdeC.Free; end; //DDEで受信するサーバー側(FMX)Project2 unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs ,Vcl.DdeMan, FMX.Controls.Presentation, FMX.StdCtrls, FMX.ScrollBox, FMX.Memo; type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { private 宣言 } dde:Vcl.DdeMan.TDdeServerConv; procedure ExecuteMacro(Sender: TObject; Msg: TStrings); public { public 宣言 } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.FormCreate(Sender: TObject); begin dde:=Vcl.DdeMan.TDdeServerConv.Create(Form1); dde.Name:='dde'; dde.OnExecuteMacro:=ExecuteMacro; end; procedure TForm1.FormDestroy(Sender: TObject); begin dde.Free; end; procedure TForm1.ExecuteMacro(Sender: TObject; Msg: TStrings); begin Memo1.Lines.Text:=Msg.Text; end; end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.