delphi中的代码,用来接受flashsend的命令,执行代码,例如fscommand("Quit"
,fscommand("EditRes"
等等。
procedure TFrmMain.SWFPlayerFSCommand(Sender: TObject; const command,
args: WideString);
begin
//----------------------------------------------------------------------------
if command = 'Quit' then
begin
application.Terminate;
end;
//----------------------------------------------------------------------------
if command = 'EditRes' then
begin
OpenFile.FileName := args;
if OpenFile.Execute then
begin
AddFile := LowerCase(OpenFile.FileName);
SWFPlayer.SetVariable('_ResFile',AddFile);//flash中的一个变量_ResFile,这样就可以把在delphi中取到的值传给flash了。
SWFPlayer.SetVariable('_DelphiResult','EditResFileOk');//_DelphiResult是flash中的一个变量,用来观察
end;
end;
end;
//-----------------------------------------------------------------------
//flash中的代码----------------------------------------------------------
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
function fPlayer(vProperty, vOldVal, vNewVal, vUserData) {
switch (vNewVal) {
case 'EditResFileOk':
//这里就是你在delphi那边完成了操作后要flash做的事情
break;
}
}
_level0.watch("_DelphiResult", fPlayer);
我的解决办法就这样了,呵呵,不知道还有什么其他的方法....