問題タブ [perlapp]
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.
perl - 単体テストを PAR または PerlApp でパッケージ化する方法はありますか?
配布用に PerlApp を使用して「バイナリ」形式にパックするアプリがあります。私のクライアントは Win32 システムの簡単なインストールを望んでいるので、これは非常にうまく機能します。
クライアントは、標準インストールのように、すべての単体テストを実行する必要があると判断しました。ただし、通常の Perl はインストールされません。
そのため、クライアントのシステムで動作するように単体テストをパッケージ化する方法が必要であることに気付きました。
最初に考えたのはprove
、1 つのファイルにまとめて、各テストを個別にまとめられるということでした。次に、適切な構造の zip ファイルを送信します。
ちょっとした調査で、Test::Harness::Straps がコマンド ラインから perl を呼び出すことがわかりました。
このプロセスに役立つ既存のツールはありますか?
おそらく、PAR::Packer
のparl
ツールを使用して、テスト スクリプトの呼び出しを処理できます。
PARまたはPerlAppのいずれかを適用する方法についての考え、および Test::Harness とその友人をオーバーライドする方法についての考えに興味があります。
ありがとう。
更新: PAR や PerlApp には心当たりがありません。それらは私がよく知っているツールです。別のパッケージャー ( Cava Packagerなど) を必要とするアイデアや解決策がある場合は、ぜひお知らせください。
更新 2: tsee は、PAR の優れた新機能を指摘してくれました。新しい Test::Harness ディストリビューションのどこを見ればよいかについて、アイデアや指針を提供できる TAP の専門家はいますか?
perl - Perlapp を使用して Perl スクリプトを実行可能ファイルに変換すると、一部の文字が欠落するのはなぜですか?
私の質問を ActiveState フォーラムに投稿する前に、ここで運試しをしたいと思います :)
Perlapp (バージョン 8.1) を使用して、単純なスクリプトを .exe ファイルに変換しようとしています。Perl スクリプトは正常に動作し、Perlapp も正常に機能したようです。しかし、変換された .exe ファイルには奇妙な動作があり、これは utf-8 エンコーディングに関連していると思われます。たとえば、Perl スクリプトは次のような結果を生成します。
しかし、実行可能ファイルを実行すると、これだけが得られます。
utf8.pm が明示的に追加されるように Perlapp を既に構成しましたが、問題は解決しません。私は何か他のものを試しました。例えば、
と
しかし運がない。
何が原因であるかについて、誰か親切にヒントを教えてもらえますか?いつもありがとう:)
ここにコード全体を投稿できますが、不要なようですので、問題に関連すると思われるコードのスニペットをいくつか貼り付けます。
もう1つ、Windows XP(中国語版)でActivePerl 5.10.0.を実行しており、スクリプトはBOMなしのutf-8エンコーディングとして保存されています。PerlApp は、BOM を持つスクリプトを処理できません。
編集
実行可能なスニペットを与えるとしたら、コード全体を与えるようなものだと思います。これは、相互に接続された 3 つのサブルーチンを使用しているためです。これには、Lingua::han::Pinyin モジュールと Lingua:: からいくつかの変更を加えています。 han::Utils モジュール。
macos - X11 アプリケーションのメイン ウィンドウが OS X に表示されないことがあるのはなぜですか
ActiveState PDK PerlApp 8.2.1 を使用してコンパイルされた OS X 用の Perl/Tk アプリケーションを作成しました。このアプリケーションは、OS X で適切に動作するために X11 を必要とし、私のコンピューター (OS X 10.4.11) ですべて正常に動作し、他のユーザーは OS X 10.5 および 10.6 で正常に動作すると報告しています。
しかし、10.4.11 や 10.6.7 などのユーザーから、アプリケーションを起動した後、プログラムは実行されているように見えるが、メイン ウィンドウが表示されないという報告もいくつか受けています。OS X コンパイル用の Perl/Tk アプリケーションを作成しました。 ActiveState PDK PerlApp 8.2.1 を使用。このアプリケーションは、OS X で適切に動作するために X11 を必要とし、私のコンピューター (OS X 10.4.11) ですべて正常に動作し、他のユーザーは OS X 10.5 および 10.6 で正常に動作すると報告しています。
しかし、10.4.11 や 10.6.7 などのユーザーから、アプリケーションを起動した後、プログラムは実行されているように見えますが、メイン ウィンドウが表示されないという報告もいくつか受け取りました。
(「実行されているようです」の意味を明確にするために、ユーザーは X11 を起動できます (つまり、インストールされています!)。また、私のアプリケーションを起動すると、新しい X11 メニュー バーが表示され、「About...」をクリックして見ることができます。アプリケーションの「About...」ウィンドウ)。
ここでバグを再現することはできません。ユーザーは、アプリケーションを起動したときにターミナル コマンド ラインにエラーが表示されないと言っています。
誰かが同様の問題を経験し、それを修正する方法を知っていますか? これは X11 の問題のようですが、この問題を回避するために自分のコードを変更できることをうれしく思います。
activestate - ActiveState PerlAppには、icoファイルを「バインドされたファイル」としてバインドする際の問題がありますか
この質問をActiveStateに投稿しましたが、サポートまたはディスカッションフォーラムからの返信がありませんでした。ここの方がおそらく良いでしょう。
私はPerlApp(ver。8.2.1 Build 292072)を長年使用しており、問題はほとんど発生していません。しかし、つい最近、私は新しいTkxアプリを作成していて、問題が発生しました。Tkxを使用すると、アプリケーションでicoファイルを使用でき(Tkアイコンの代わりに)、これは開発で完全に機能します。しかし、PerlAppの「バインドされたファイル」でicoファイルをバインドしようとすると、動作を拒否し、アプリを実行する唯一の方法は、元のicoファイルをexeと同じフォルダーに配置することです。
「IconSources」icoファイルの名前を変更して、「Icon Sources」icoファイルを完全に削除しようとしましたが、「BoundFiles」icoファイルがバインドされません。
助言がありますか?
perl - perl スクリプトを実行可能ファイルにコンパイルする際の問題
以下の perlscript を activestate perlapp を使用してコンパイルしようとしています。PerlApp プログラムとは何の関係もないと思います。デバッグしてアクティブステートを実行するだけで問題なく動作します
これは、実行可能ファイルにコンパイルしようとしたときのエラーです。
LWP/UserAgent.pm が @INC に見つかりません (@INC には :) (eval 38) 行 2 があります。BEGIN に失敗しました -- (eval 38) 行 2 でコンパイルが中止されました。
ショートコードは次のとおりです。
perl - Statistics::R を取得して PerlApp (または PAR) で動作させる
Statistics::R パッケージを使用する単純な perl スクリプトから .exe を作成しようとしています。
perlapp .exe ファイルを作成するまでは、すべて問題なく動作します。これをテストすると、次のエラーが表示されます。
オンラインで調べたところ、問題に関する次のスレッドが見つかりました: http://www.nntp.perl.org/group/perl.par/2011/05/msg5022.html
これは彼らが言うことです:
これは、Win32 (のみ) の IPC::Run モジュールが、通常 perl.exe へのパスを含む $^X を使用してサブプロセスを実行しようとするために発生します。ただし、PAR が実行可能ファイルをパックするとき、$^X はたまたま perl.exe を指していないため、IPC::Run はその時点で失敗します。サブプロセスを使用せずに IPC::Run を Windows に実装することは未解決の問題です。
最終的に、スレッドの解決策は IPC::Run3 を使用することですが、これはここではオプションではありません。
この問題を克服する方法について何か提案はありますか?
perl - Win32::GUI コントロールの境界線を削除する
プロジェクトのバイナリを生成するために PerlApp を使用するときはいつでも、テキスト ボックスやリストビューなどのコントロールの周りに醜い灰色の境界線が表示されます。(作例写真)
次のコードを使用してリストビューを作成しました。
この問題の解決策はありますか? ありがとうございました、
最大。
perl - PerlApp-generated-exe がパッケージを読み込めない
PerlApp は、perl スクリプトを実行可能ファイルに生成します。PerlApp を使用すると問題が発生します。手順は次のとおりです。
- 次の 2 行で perl スクリプト (e.pl) を生成します。Date::Manip::DM6; が必要です。
- perlapp e.pl --Date::Manip を追加 --Date::Manip::DM6 を追加
- e.exe は次のエラーを生成します: c:_test>e.exe ERROR LOADING MODULE: Date::Manip::DM6 at /Date/Manip.pm line 35.