GeneXusのプロシージャでexeファイルを作成します。
言語
C#
プロパティ
プロシージャのプロパティを変更します。
Main program -> True
Call protocol -> Command Line
Rules
パラメータは以下のようにします。(&pTestはVarCharの40です。)
// パラメータ
Parm(In:&pTest);
※コマンドラインはパラメータのoutで返せないのでメッセージ関数を使用します。
Source
パラメータで受け取ったものをそのままメッセージ関数で返してあげる簡単な処理です。
第二引数を入力しないと返ってきません。第二引数の詳細についてはwikiを参照してください。Messageコマンド
msg(&pTest, status)
実行
exeファイルは「~\Models\ナレッジ名\CSharpModel\web\bin\」直下に作成されます。
exeファイルの後に入力値を与えます。
コマンドで叩きます。「おねがいしまーす」
C:\Models\ナレッジ名\CSharpModel\web\bin>プロシージャ名.exe てすと
すると入力した値をそのまま返してくれます。
C:\Models\ナレッジ名\CSharpModel\web\bin>プロシージャ名.exe てすと
てすと
注意事項
コマンドラインで実行するにあたって文字列の制限があります。私はこれでずっと「Process is terminated due to StackOverflowException.」が表示されて実行できませんでした。詳細は以下の通りです。
コマンド プロンプト (cmd.exe) のコマンドライン文字列の制限