問題タブ [tcldevkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1099 参照

tcl - Tcl Dev Kit:パッケージstarkitが見つかりません

TclDevKit5.2を使用して最も単純なTCLアプリケーションをラップすることができません。

私は64ビットCentOSを使用していますが、ここでwatは次のようuname -aに返します。

入力する場合:

(ここでempty.tclは空のファイルです)実行可能ファイルを生成しますが、./wrap実行しようとすると./wrap、次のように報告されます。

これがの最初の行です./wrap

私は何が間違っているのですか?starkitパッケージはどこにありますか?多分私は何かを追加する必要がありadd_pathますか?

TclDevKitの21日間の試用版を使用していますが、生成中に報告されたログは次の./wrapとおりです。

0 投票する
1 に答える
191 参照

tcl - インタラクティブなtclshセッションをTclDevKitでラップする方法は?

インタラクティブなtclshセッションをTclDevKitでラップするにはどうすればよいですか?

TclProを使用すると、これは次のようになります。

ラップsome.tclし、呼び出す./shellとインタラクティブなtclshセッションが起動します。source some.tclそのシェルから入力すると、ラップされたファイルが呼び出されます。したがって-startup ""、TclProに起動スクリプトを使用しないように指示します。

TclDevKitで同じことをするにはどうすればよいですか?試し-startup ""ましたが効果がありませんでした。

0 投票する
2 に答える
92 参照

tcl - TclDevKit-5.2 プレフィックス ファイルが存在しない

ActiveState のTclDevKit-5.2の試用版を使用しようとしています。

次のようなエラー メッセージが表示されます。

次のようなコマンドで単純な tcl ファイルをラップしようとすると、次のようになります。

ただし、ファイル /opt/TclDevKit-5.2/bin/tdkbase が存在し、/opt/TclDevKit-5.2/bin/tdkbase と入力すると、tclsh セッションが起動されます。

私は 64 ビットの CentOS を使用しており、uname -a が返すものは次のとおりです。

私は何を間違っていますか?プレフィックスファイルを使用するように tclapp を作成するにはどうすればよいですか?

0 投票する
1 に答える
75 参照

tcl - カスタム TclDevKit プレフィックス ファイルを作成するには?

カスタム Tcl インタープリターを TclDevKit のプレフィックス ファイルとして使用したいと考えていますtclapp

次のファイルから構築された TCL インタープリターがあります。

main.cpp次のコマンドでビルドします。

と通訳を取得しmyinterpます。

TclDevKit のオプションとして渡すことができるようにするには、上記main.cppg++コマンドをどのように変更すればよいですか?myinterp-prefixtclapp

0 投票する
1 に答える
297 参照

bitmap - TclApp を使用してプログラムをラップし、Tcl/Tk でビットマップを発行する

TclApp を使用して、プログラムとそのすべてのファイルをスタンドアロンの実行可能ファイルにラップしています。99% のファイルで正常に動作しています。ただし、私の .ico ファイルをラップまたは認識していないようです...

私は Tcl/Tk でプログラムを書いており、メイン ウィンドウのアイコンを左上に次のように設定しようとしています。

プログラムをラップした後、.exe ファイルが .ico ファイルと同じディレクトリにある場合にのみ、アイコンで正しく破棄されます。他の場所にはありません。これは、そもそも TclApp で Tcl プログラムをラップするという全体的な目的に反しています。TclApp仮想ファイル システムの .tcl ファイルで .ico ファイルをラップするので、.exe ファイルがどこにあるかに関係なく、アイコンを見つけることができます。

私はパスをより明示的に指定しようとしました:

そこには運がありません...

私が得るエラーは次のとおりです。

これに関して私が抱えている 2 つの問題: Tcl/Tk にはビットマップに何らかのバグがあるか、何かがうまくいかない傾向があることをインターネット上の多くのブログや投稿で読みました - 誰も詳しく説明していません。もう1つの問題は、TclAppがアイコンをtclスクリプトでラップする必要があるため、どこからでもプログラムを実行しても、.icoファイルと同じディレクトリにあるかのように動作するはずですが、そうではありません...

それで、どこが間違っているのですか?Tcl コードに問題がありますか、Tcl/Tk のビットマップに本当にバグがあるのでしょうか、それとも TclApp が正しく動作していないのでしょうか??

0 投票する
1 に答える
1059 参照

arrays - Tcl/Tk - 「UserArray」を読み取れません: 変数は配列です

ActiveState の TclDevKit デバッガーを使用してコードを確認していますが、プログラムの実行中のある時点で次のエラーが発生します。

私は Tcl/Tk を理解しているので、私がしていることは完全に有効で合法であるため、このエラーは私を完全に困惑させます。コードは次のとおりです。

Tcl では、配列内のインデックスからの読み取りと書き込みが許可されています。ここでエラーが発生することはないと思います...詳細が不足していますか?

0 投票する
0 に答える
234 参照

tcl - tk_getSaveFile 指定されたディレクトリでダイアログを開きませんか? (Tcl/Tk)

この質問の前に、次の情報を記載する必要があります。この問題は、アプリケーションがTclAppでラップされている場合にのみ発生します。

Tcl プログラムをラップするとき、内部ファイル システムにまだラップされていない場合、プログラムがファイルを検索するために必要なディレクトリの場所に移動するlappend必要があることを理解しています。auto_pathそれが私が行ったことですが、私のコードは tk_getSaveFile ではなく tk_getOpenFile に対してのみ機能します。指定したディレクトリで保存ダイアログを開くのではなく、マイ ドキュメントで開きます。

これが本質的に私がやっていることです:

これがWindowsの問題ではないことを確認しました(プログラムで初めて保存/開いた後、ダイアログの開いている場所を保存します)。新しいシステムで初めてプログラムを実行すると、tk_getSaveFile My Documents で開きますが、tk_getOpenFile は正しいフォルダー「myFolder」で開きます。

何か案は?

編集:

非常に奇妙な問題も発生していることに気付きました。関連しているのではないかと思います。これで、C:\ の下の子ディレクトリにファイルを保存するときはいつでも、プログラムの開くダイアログと保存ダイアログからしかファイルを見ることができません。Windows エクスプローラーで同じ場所に移動すると、ファイルが表示されないだけでなく、まったく表示されません。ここで何が起こっているのですか?

編集:

私のプログラムは管理者権限で実行する必要がありました - そのため、本当に奇妙なエラー (2 番目のエラー) が発生しました。

0 投票する
0 に答える
149 参照

windows-services - Tcl アプリケーションを Windows サービスとしてインストールするエラー

TclDevKit の TclServiceManager を使用して、Tcl プログラムをサービスとして Windows マシンにインストールしようとしています。ここのガイドを順を追って実行していますが、多くの問題が発生しています。

生の .tcl ファイルを使用してサービスを作成しようとすると、次のエラーが発生します。

ここで、この問題の解決策に従って、サービス コントロール マネージャーが終了する前にプログラムを起動する時間を増やしました。無駄に。

次に、TclApp を使用してプログラムをラップし、それが機能するかどうかを確認することにしました。ガイドにあるようbase-tclsvc-win32-ix86.exeに、TclDevKit の bin ディレクトリにあるプレフィックス ファイルを使用しました。その方法でサービスをインストールしてから実行しようとすると、次のエラーが発生しました。

このエラーをグーグルで検索できる情報はほとんどありませんでした。それに関する唯一の Stackoverflow 投稿はこれです。そのため、コマンドプロンプトを使用して手動でサービスをインストールして<TheProgram>.exe <Service Name> -install実行しようとしましたが、それでも同じエラーが発生しました。

次に、実行して有用な情報を取得できるかどうかを確認しようとしましたが<TheProgram>.exe <Service Name> -debug、興味深いことに、次の出力が得られました。

グーグルInitTypes: failed to find the DictUpdateInfo AuxData typeは私をどこにも導きませんが、それはTclに関連しているようです。

最後に、サービスとしてインストールしようとしていたプログラムのソース コードは、単純な Web サーバー コードです。

ソースコードに問題があるかどうかを確認するために、特定のディレクトリにファイルを作成するだけの別の簡単な例を試しました。

両方のプログラムは、tclsh86.exe からソースを取得するだけで機能しますが、ラップされていないサービスとラップされているサービスとしてそれぞれ実行しようとすると、上記のエラーが発生します。

何か案は?