FILEMAKER プラグイン など フォーラム

FILEMAKER プラグイン など (助け合い)フォーラムにようこそ!

何方でも、ご質問・ご回答お願いします。

※2024/01/31 までに登録された方は、登録時のパスワードが使えません。

パスワードを再発行してください。

ログインしていません。

#1 2022-11-18 17:25:15

okabe
メンバー
登録日: 2022-11-18
投稿: 3

ファイル選択ダイアログサンプルについて

初めまして
PowerShell 初心者なのでレベルの低い質問とは思いますがご容赦願います

サンプルの ファイル選択ダイアログ
https://sites.google.com/site/scriptmak … authuser=0

の $PS の設定値をコピーして フィールド source に張り付ます
もちろん前後の " は削除します。
(両引用符の混在はややこしいのでフィールドを使います)

そのうえで $Arguments 設定する値の中のシングルクオートをダブルクオートに変更します

例: if ($dialog.ShowDialog() -eq 'OK') {
→ if ($dialog.ShowDialog() -eq "OK")


変数を設定 [$dummy , SMPS_Exe( フィールドsource )
を実行します。

するとファイル選択ダイアログが出なくなります。

(シングルクオートならダイアログは出ます)

展開すべき変数もないのでシングルでもダブルでもよいのでは
と思いますが、なぜダブルクオートでは正しく動作しないのでしょうか?

あとこのサンプルで
SMPS_Exe でなく SMPS_ExecSync を使用しているのはなぜでしょう?
SMPS_ExecSync だと実行が遅く使い物にならないのですが?

オフライン

#2 2022-11-19 11:28:42

admin
管理者
登録日: 2017-06-10
投稿: 87

Re: ファイル選択ダイアログサンプルについて

展開すべき変数もないのでシングルでもダブルでもよいのでは
と思いますが、なぜダブルクオートでは正しく動作しないのでしょうか?

不明です。
が、Add-Type -Assembly...の部分は、通常の記述とは異なり、
System.Diagnostics.Process の引数として渡しているのが関係しそうです。

SMPS_Exe でなく SMPS_ExecSync を使用しているのはなぜでしょう?

SMPS_Exe( Script )を実行すると FileMakerは、30秒間は、PowerShell Scriptの終了を待ちます。
PowerShell Scriptの処理が30秒以上かかっているFileMakerにコントロールが戻りますが、PowerShell Scriptの処理は、継続されます。PowerShell Scriptの状況は、SMPS_Get("PSThreadState")で確認できます。

SMPS_ExecSync( Script )を実行すると FileMakerは、PowerShell Scriptの終了を待ちます。

オフライン

#3 2022-11-22 15:52:11

okabe
メンバー
登録日: 2022-11-18
投稿: 3

Re: ファイル選択ダイアログサンプルについて

回答ありがとうございます。
>>不明です。
いろいろ試したら ダブルコーテーション3っで値が引き渡される
"""value""" --> "value"
ことまでわかりました。ダブルクオーテーションに限って引きはがしが行われるようです

>>SMPS_ExecSync だと実行が遅く使い物にならない
その後、何度か試しましたがそんなことはありませんでした。当方のオペミスでした。

オフライン

#4 2022-11-22 17:28:46

okabe
メンバー
登録日: 2022-11-18
投稿: 3

Re: ファイル選択ダイアログサンプルについて

追加質問です。
ファイル選択ダイアログ サンプルをそのままSMPS_ExecSync で実行しました、
ダイアログがでて何もしないでいると30秒もたたないうちに
  「サーバー使用中
    他のプログラムがビジー状態のため、この作業を完了できません。。。
  」 というダイアログが出て、ダイアログを閉じない限り何もできなくなります
  Windowsの場合、それでもFMの操作はできず、WindowsのタスクバーからFMをクリックして表示しなおさないと
  FMが操作できなくなります
  SMPS_exeの場合、このようなことはないのですが、30秒たってから、ファイル選択ダイアログで選択しても、当然結果が取得できません。
  どちらにせよ業務に使用できません。
  何か解決できる方法はないでしょうか?

オフライン

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ 0.024 秒でページを生成, 9 クエリーを実行 - 使用メモリー: 538.18 KiB (ピーク: 1005.89 KiB) ]