2016-04-12 3 views
0

Powerbuilderを使用してアプリケーションを構築した後、アプリケーション内のアイコンの表示に問題がなく、他のアイコンが表示されないという問題が発生しています。また、アプリケーションのメインアイコンがWindowsのタスクバーに表示されません。私はアイコンサイズで遊ぶつもりですが、他の誰かが何かアドバイスをしていれば、それは素晴らしいでしょう!Powerbuilder Icon issue

+0

アイコンはコンパイルされたリソースに含まれていますか、またはファイルシステムから直接使用されていますか?後者とアプリケーションがファイルサーバーにデプロイされている場合、その問題が発生する可能性があります。 – Seki

答えて

0

アイコンファイル名を挿入するIDE内では、パス(「C:¥graphics¥myicon.ico」など)がないことを確認してください。アイコンファイルの名前のみです。次に、アイコンファイルがシステムのPATH変数内のフォルダのどこかにあることを確認します。アプリケーションをビルドするときは、アプリケーションのプロジェクトでPBRファイル(リソースファイル)を使用できます。このリソースファイルでアプリケーションで使用されているすべてのグラフィックファイルを一覧表示すると、それらはexeファイルに含まれます(別途配布する必要はありません)。

0

Mattは、アプリ内の画像参照でパス名を使用していない点が正しいです。また、アプリケーションにコンパイルするのが最善であることを修正します。 しかし、私は開発中に私のリソースとDLLを別々のディレクトリに分けたいのです。グローバルenv変数を変更せずにこれを行うには、PB "App Paths"レジストリセクションにディレクトリを含めることができます。あなたのPBバージョン... によって

の "Microsoft \ Windowsの\ CurrentVersionの\アプリケーションのパスのHKEY_LOCAL_MACHINE \ SOFTWARE \ \ pb125.exe" があり

あなたが "PATH" の値を検索します。あなたのdev、リソース、dll、ディレクトリをそのパスに ";"で区切って追加するだけです。 PBがそれらを見つける(再起動が必要)。

私は実際に自分のパスを登録するために私が取り組んでいる各アプリケーションのルートにregファイルを作成します。

0

注:最終的にコンパイルされたアプリケーションでも同じことが働きます。 PBセクションを使用する代わりに、実行可能ファイルの名前でセクションが作成されます。そこで同じことをやってください - リソースがEXEディレクトリから分離されているパスを追加してください。

1

小さいグラフィックの変更や、1つのライブラリのみに適用されるカスタマイズがあるたびに、実行可能ファイルを再コンパイルするのは嫌いです。グラフィックスを実行可能ファイルにコンパイルするのは嫌です。 exeファイルは非常に大きいです。ライブラリリストが変更されない限り、exeファイルを再構築する必要はありません。ですから、私は.pbrファイルを使用し、pbrファイルでpblを再構築します。

私のgraphics.pbrファイルは私のグラフィックスと同じディレクトリにありますので、環境変数を混乱させたりファイルパスを心配する必要はありません。 AppCoreディレクトリに空のgraphics.pblを作成し、グラフィックスディレクトリにgraphics.pbrを作成しました。 graphics.pblはアプリケーションのライブラリリストにあります。グラフィックを追加または編集する必要があるときは、単にgraphics.pblを使ってgraphics.pblを再構築します。

私は複数の顧客が同じアプリケーションを使用しており、独自のグラフィック(ロゴ)を使用していますので、同じことをします。私のディレクトリ構造は次のようになります。

MyApp

MyApp重量部

AppCore

graphics.pbl 

bunch more libraries 

AppGraphics

single resource file, graphics.pbr 

bunch of icons and graphics 

Customer1

Customer1.pbl 

Customer1.pbr 

a few libraries for customization and container for application object 

a few custom graphics 

Customer2

etc. 

キーは、AppGraphicsディレクトリ(または顧客ディレクトリ)からアプリケーションにグラフィックスやイメージを追加するときに、ディレクトリパスがないことを確認することです。

このソリューションでは、ディレクトリパスが変更されたためコードを編集せずにコードを移動して一部のディレクトリの名前を変更することで、次のアップグレードとバージョンの開発を続けることが容易になりました。

これは時間がかかりますが、役立ちますようにお願いします。

~~~トレイシー