tpaxscripter_methods.htm

来自「Delphi脚本控件」· HTM 代码 · 共 1,897 行 · 第 1/5 页

HTM
1,897
字号
<html>
</head>

<head>
<link rel=stylesheet type="text/css" href="styles.css">
</head>
<body>
<H3>
TPaxScripter Methods
</H3>
<hr>
<ul>
<li><a href="#TPaxScripter.AddBreakpoint">AddBreakpoint</a></li>
<li><a href="#TPaxScripter.AddCode">AddCode</a></li>
<li><a href="#TPaxScripter.AddCodeFromFile">AddCodeFromFile</a></li>
<li><a href="#TPaxScripter.AddDelphiForm">AddDelphiForm</a></li>
<li><a href="#TPaxScripter.AddModule">AddModule</a></li>
<li><a href="#TPaxScripter.CallFunction">CallFunction</a></li>
<li><a href="#TPaxScripter.CallFunctionEx">CallFunctionEx</a></li>
<li><a href="#TPaxScripter.CallFunctionByIdEx">CallFunctionByIdEx</a></li>
<li><a href="#TPaxScripter.CallFunctionByID">CallFunctionByID</a></li>
<li><a href="#TPaxScripter.Compile">Compile</a></li>
<li><a href="#TPaxScripter.CompileModule">CompileModule</a></li>
<li><a href="#TPaxScripter.Create">Create</a></li>
<li><a href="#TPaxScripter.Destroy">Destroy</a></li>
<li><a href="#TPaxScripter.DiscardError">DiscardError</a></li>
<li><a href="#TPaxScripter.EnumMembers">EnumMembers</a></li>
<li><a href="#TPaxScripter.Eval">Eval</a></li>
<li><a href="#TPaxScripter.FileExtToLanguageName">FileExtToLanguageName</a></li>
<li><a href="#TPaxScripter.FindLanguage">FindLanguage</a></li>
<li><a href="#TPaxScripter.GetAddress">GetAddress</a></li>
<li><a href="#TPaxScripter.GetClassInfo">GetClassInfo</a></li>
<li><a href="#TPaxScripter.GetInstruction">GetInstruction</a></li>
<li><a href="#TPaxScripter.GetKind">GetKind</a></li>
<li><a href="#TPaxScripter.GetLastResult">GetLastResult</a></li>
<li><a href="#TPaxScripter.GetMemberID">GetMemberID</a></li>
<li><a href="#TPaxScripter.GetModule">GetModule</a></li>
<li><a href="#TPaxScripter.GetName">GetName</a></li>
<li><a href="#TPaxScripter.GetOwnerID">GetOwnerID</a></li>
<li><a href="#TPaxScripter.GetParamID">GetParamID</a></li>
<li><a href="#TPaxScripter.GetPosition">GetPosition</a></li>
<li><a href="#TPaxScripter.GetResultID">GetResultID</a></li>
<li><a href="#TPaxScripter.GetRootID">GetRootID</a></li>
<li><a href="#TPaxScripter.GetTypeID">GetTypeID</a></li>
<li><a href="#TPaxScripter.GetUserData">GetUserData</a></li>
<li><a href="#TPaxScripter.GetValueByID">GetValueByID</a></li>
<li><a href="#TPaxScripter.InstructionCount">InstructionCount</a></li>
<li><a href="#TPaxScripter.IsError">IsError</a></li>
<li><a href="#TPaxScripter.IsExecutableSourceLine">IsExecutableSourceLine</a></li>
<li><a href="#TPaxScripter.IsLocalVariable">IsLocalVariable</a></li>
<li><a href="#TPaxScripter.LanguageCount">LanguageCount</a></li>
<li><a href="#TPaxScripter.LoadProject">LoadProject</a></li>
<li><a href="#TPaxScripter.LoadFromFile">LoadFromFile</a></li>
<li><a href="#TPaxScripter.LoadFromStream">LoadFromStream</a></li>
<li><a href="#TPaxScripter.RegisterConstant">RegisterConstant</a></li>
<li><a href="#TPaxScripter.RegisterInterfaceVar">RegisterInterfaceVar</a></li>
<li><a href="#TPaxScripter.RegisterLanguage">RegisterLanguage</a></li>
<li><a href="#TPaxScripter.RegisterVariable">RegisterVariable</a></li>
<li><a href="#TPaxScripter.RegisterObject">RegisterObject</a></li>
<li><a href="#TPaxScripter.RegisterField">RegisterField</a></li>
<li><a href="#TPaxScripter.RemoveAllBreakpoints">RemoveAllBreakpoints</a></li>
<li><a href="#TPaxScripter.RemoveBreakpoint">RemoveBreakpoint</a></li>
<li><a href="#TPaxScripter.ResetScripter">ResetScripter</a></li>
<li><a href="#TPaxScripter.Run">Run</a></li>
<li><a href="#TPaxScripter.RunInstruction">RunInstruction</a></li>
<li><a href="#TPaxScripter.SaveModuleToFile">SaveModuleToFile</a></li>
<li><a href="#TPaxScripter.SaveModuleToStream">SaveModuleToStream</a></li>
<li><a href="#TPaxScripter.SaveToFile">SaveToFile</a></li>
<li><a href="#TPaxScripter.SaveToStream">SaveToStream</a></li>
<li><a href="#TPaxScripter.SetValueByID">SetValueByID</a></li>
<li><a href="#TPaxScripter.UnregisterAllConstants">UnregisterAllConstants</a></li>
<li><a href="#TPaxScripter.UnregisterAllObjects">UnregisterAllObjects</a></li>
<li><a href="#TPaxScripter.UnregisterAllVariables">UnregisterAllVariables</a></li>
<li><a href="#TPaxScripter.UnregisterConstant">UnregisterConstant</a></li>
<li><a href="#TPaxScripter.UnregisterLanguage">UnregisterLanguage</a></li>
<li><a href="#TPaxScripter.UnregisterObject">UnregisterObject</a></li>
<li><a href="#TPaxScripter.UnregisterVariable">UnregisterVariable</a></li>
</ul>
<a name="TPaxScripter.AddBreakpoint"><h3>TPaxScripter.AddBreakpoint</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Adds breakpoint to a script.
<pre>
<font color="blue"><b>function</b></font> AddBreakpoint(<font color="blue"><b>const</b></font> ModuleName: <font color="blue"><b>String</b></font>; LineNumber: Integer): Boolean;
</pre>
<H4>
Arguments
</H4>
<blockquote>
<i>ModuleName</i>
<blockquote>
Name of module.
</blockquote>
</blockquote>
<blockquote>
<i>LineNumber</i>
<blockquote>
Line number.
</blockquote>
</blockquote>
<p>
<H4>
Example
</H4>
<pre>
PAXScripter1.AddBreakpoint(<font color="Red">'MyModule'</font>, 17);
</pre>
</p>
<H4>
See Also
</H4>
<blockquote>
<ul>
<a href="#TPaxScripter.RemoveAllBreakpoints"><li>RemoveAllBreakpoints</li></a>
<a href="#TPaxScripter.RemoveBreakpoint"><li>RemoveBreakpoint</li></a>
</ul>
</blockquote>
</blockquote>
<a name="TPaxScripter.AddCode"><h3>TPaxScripter.AddCode</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Adds source code to a module.
<pre>
<font color="blue"><b>procedure</b></font> AddCode(<font color="blue"><b>const</b></font> ModuleName, Code: <font color="blue"><b>String</b></font>);
</pre>
<H4>
Arguments
</H4>
<blockquote>
<i>Module</i>
<blockquote>
A <font color="black"><i>module</i></font> name.
</blockquote>
</blockquote>
<blockquote>
<i>Code</i>
<blockquote>
Source <font color="black"><i>code</i></font>.
</blockquote>
</blockquote>
<p>
<H4>
Example
</H4>
<pre>
PAXScripter1.AddModule(<font color="Red">'MyModule'</font>, <font color="Red">'paxBasic'</font>); 
PAXScripter1.AddCode(<font color="Red">'MyModule'</font>, <font color="Red">'Dim X = 10'</font>);
</pre>
</p>
<H4>
See Also
</H4>
<blockquote>
<ul>
<a href="#TPaxScripter.AddCodeFromFile"><li>AddCodeFromFile</li></a>
<a href="#TPaxScripter.AddDelphiForm"><li>AddDelphiForm</li></a>
<a href="#TPaxScripter.AddModule"><li>AddModule</li></a>
</ul>
</blockquote>
</blockquote>
<a name="TPaxScripter.AddCodeFromFile"><h3>TPaxScripter.AddCodeFromFile</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Adds source code to scripter from a text file.
<pre>
<font color="blue"><b>procedure</b></font> AddCodeFromFile(<font color="blue"><b>const</b></font> ModuleName, FileName: <font color="blue"><b>String</b></font>);
</pre>
<H4>
Arguments
</H4>
<blockquote>
<i>ModuleName</i>
<blockquote>
Name of module.
</blockquote>
</blockquote>
<blockquote>
<i>FileName</i>
<blockquote>
Name of text file
</blockquote>
</blockquote>
<p>
<H4>
Example
</H4>
<pre>
PAXScripter1.AddModule(<font color="Red">'MyModule'</font>, <font color="Red">'paxC'</font>);
PAXScripter1.AddCodeFromFile(<font color="Red">'MyModule'</font>, <font color="Red">'afile.sc'</font>);
</pre>
</p>
<H4>
See Also
</H4>
<blockquote>
<ul>
<a href="#TPaxScripter.AddCode"><li>AddCode</li></a>
<a href="#TPaxScripter.AddDelphiForm"><li>AddDelphiForm</li></a>
<a href="#TPaxScripter.AddModule"><li>AddModule</li></a>
</ul>
</blockquote>
</blockquote>
<a name="TPaxScripter.AddDelphiForm"><h3>TPaxScripter.AddDelphiForm</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Adds a Delphi form to script project.
<pre>
<font color="blue"><b>procedure</b></font> AddDelphiForm(<font color="blue"><b>const</b></font> DfmFileName, UnitFileName: <font color="blue"><b>String</b></font>); <font color="blue"><b>overload</b></font>;
<font color="blue"><b>procedure</b></font> AddDelphiForm(<font color="blue"><b>const</b></font> ModuleName: <font color="blue"><b>String</b></font>; Dfm, Source: TStream); <font color="blue"><b>overload</b></font>;
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<a href="#TPaxScripter.AddCode"><li>AddCode</li></a>
<a href="#TPaxScripter.AddCodeFromFile"><li>AddCodeFromFile</li></a>
</ul>
</blockquote>
</blockquote>
<a name="TPaxScripter.AddModule"><h3>TPaxScripter.AddModule</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Adds a new module to scripter.
<pre>
<font color="blue"><b>function</b></font> AddModule(<font color="blue"><b>const</b></font> ModuleName, LanguageName: <font color="blue"><b>String</b></font>): Integer;
</pre>
<H4>
Arguments
</H4>
<blockquote>
<i>ModuleName</i>
<blockquote>
Name of module.
</blockquote>
</blockquote>
<blockquote>
<i>Language name</i>
<blockquote>
Name of language
</blockquote>
</blockquote>
<p>
The AddModule method returns id of module.
<H4>
Example
</H4>
<pre>
ModuleId := PAXScripter1.AddModule(<font color="Red">'MyModule'</font>, <font color="Red">'paxC'</font>);
</pre>
</p>
<H4>
See Also
</H4>
<blockquote>
<ul>
<a href="#TPaxScripter.AddCode"><li>AddCode</li></a>
<a href="#TPaxScripter.AddCodeFromFile"><li>AddCodeFromFile</li></a>
</ul>
</blockquote>
</blockquote>
<a name="TPaxScripter.CallFunction"><h3>TPaxScripter.CallFunction</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Calls a script-defined function or method of object defined in the global (noname) namespace.
<pre>
<font color="blue"><b>function</b></font> CallFunction(<font color="blue"><b>const</b></font> Name: <font color="blue"><b>String</b></font>; <font color="blue"><b>const</b></font> Params: array <font color="blue"><b>of</b></font> <font color="blue"><b>const</b></font>; <font color="blue"><b>const</b></font> ObjectName: <font color="blue"><b>String</b></font> = <font color="Red">''</font>): Variant;
</pre>
<H4>
Arguments
</H4>
<blockquote>
<i>Name</i>
<blockquote>
<font color="black"><i>Name</i></font> of function or procedure.
</blockquote>
</blockquote>
<blockquote>
<i>Params</i>
<blockquote>
List of actual parameters.
</blockquote>
</blockquote>
<blockquote>
<i>ObjectName</i>
<blockquote>
<font color="black"><i>Name</i></font> of host-defined object or script-defined object. If <font color="black"><i>ObjectName</i></font> = '', CallFunction calls function defined in the global (noname) namespace.
</blockquote>
</blockquote>
<p>
The CallFunction calls CallFunctionByID internally.
<H4>
Example
</H4>
<pre>
// Script in paxPascal:

<font color="blue"><b>uses</b></font>
  StdCtrls, ExtCtrls, Forms;

<font color="blue"><b>type</b></font>
  TMyForm = <font color="blue"><b>class</b></font>(TForm)
   <font color="blue"><b>public</b></font>
     Memo: TMemo;
     pnl: TPanel;
     b1: TButton;
     <font color="blue"><b>constructor</b></font> Create(Owner: TComponent);
     <font color="blue"><b>procedure</b></font> OnPress( Sender );
   <font color="blue"><b>end</b></font>;

<font color="blue"><b>procedure</b></font> TMyForm.OnPress( Sender );
<font color="blue"><b>begin</b></font>   
  Memo.Lines.Add( <font color="Red">'World'</font> );
<font color="blue"><b>end</b></font>;

<font color="blue"><b>constructor</b></font> TMyForm.Create(Owner: TComponent);
<font color="blue"><b>begin</b></font>
  <font color="blue"><b>inherited</b></font>;
  Top := 100;
  Left := 200;
  Caption := <font color="Red">'MyForm'</font>;

  Memo := TMemo.Create(Self);
  Memo.Parent := Self;
  Memo.Width := 100;
  Memo.Align := <font color="Red">'alClient'</font>;

  pnl := TPanel.Create(Self);
  pnl.Parent := Self;
  pnl.Align := <font color="Red">'alBottom'</font>;
  pnl.Height := 50;

  b1:= TButton.Create(Self);
  b1.Parent := pnl;
  b1.SetBounds( 10, 10, 50, 20 );
  b1.Caption := <font color="Red">'Press'</font>;
  b1.OnClick := @ OnPress;
<font color="blue"><b>end</b></font>;

<font color="blue"><b>var</b></font>
  F: TMyForm;
<font color="blue"><b>begin</b></font>
  F := TMyForm.Create(nil);
  F.Memo.Lines.Add( <font color="Red">'Hello'</font> );
  F.Show;
<font color="blue"><b>end</b></font>.

...........................

Delphi code:

 PaxScripter1.CallFunction(<font color="Red">"TMyForm.OnPress"</font>, [Sender], <font color="Red">"F"</font>);

C++ Builder code:

 TVarRec v[] = { Sender };
 PaxScripter1->CallFunction(<font color="Red">"TMyForm.OnPress"</font>, v, ARRAYSIZE(v) - 1, <font color="Red">"F"</font>);
</pre>
</p>
<H4>
See Also
</H4>
<blockquote>
<ul>
<a href="#TPaxScripter.Eval"><li>Eval</li></a>
<a href="#TPaxScripter.Run"><li>Run</li></a>
<a href="#TPaxScripter.CallFunctionByID"><li>CallFunctionByID</li></a>
<a href="#TPaxScripter.CallFunctionEx"><li>CallFunctionEx</li></a>
<a href="#TPaxScripter.CallFunctionByIdEx"><li>CallFunctionByIdEx</li></a>
</ul>
</blockquote>
</blockquote>
<a name="TPaxScripter.CallFunctionEx"><h3>TPaxScripter.CallFunctionEx</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Calls a script-defined function or method of object defined in the global (noname) namespace.
<pre>
<font color="blue"><b>function</b></font> CallFunctionEx(<font color="blue"><b>const</b></font> Name: <font color="blue"><b>String</b></font>; <font color="blue"><b>const</b></font> Params: array <font color="blue"><b>of</b></font> <font color="blue"><b>const</b></font>; <font color="blue"><b>const</b></font> StrTypes: array <font color="blue"><b>of</b></font> <font color="blue"><b>String</b></font>; AnObjectName: <font color="blue"><b>String</b></font> = <font color="Red">''</font>): Variant;
</pre>
<p>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?