商品スタッフII Ver 1.40/1.41の動作環境について

2018/7/20更新

商品スタッフII Ver1.40リリース版、1.41開発版は、10年前の公開時点から、そのプログラムの基本構造をほぼ変更することなくやってきました。これは、商品スタッフIIがJavaによるプログラムであり、実行環境の変化があってもJavaがそれを吸収してくれるという点が大きいものです。

しかし、最近の環境の変化、具体的にはWindowsやJava自体の互換性の無さにより、不具合が現れるようになってきてしまいました。ここでは、これらを避ける方法をご案内します。

スタンドアロン版・ネットワーク版に共通

Java8を使用してください

現在のところJavaのバージョンとしては、Java10までがリリースされていますが、Java9以降では特に、一部の帳票印刷ができなくなる不具合が発生しています。Java8を使用してください。

なお、1.40リリース版では、たとえOSが64ビットでも、32ビット版のJavaが必要です。1.41開発版では、どちらでも構いません。Oracle社からダウンロードする場合は、以下になります。

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

上記リンクが使えない場合は、本サイトでも提供しています。

※今現在Java6あるいは7を使用されている場合は、そのままで構いません。

Windows10でプログラムの実行が停止してしまう

Windows10において、特にCreators Updateを行うと、Javaプログラムの実行が停止してしまうことが、世界的に知られています。これはWindows10のバグに起因するものです。以下を参照してください。

Windows10でJavaがクラッシュしてしまう

上記措置で解消しない場合には、以下をお試しください。

JavaプログラムをWindows互換モードで動作させる

「Java(TM)Platform SE binaryの動作が停止しました」が発生する

Windows10に限らず、時折上記のようなメッセージを表示し、プログラムの実行が停止してしまうことがあるようです。これもまた、商品スタッフIIに限らず世界的に人気のあるゲーム「マインクラフト」でも起こっているようです。この解消方法としては、以下をご覧ください。

「Java(TM)Platform SE binaryの動作が停止しました」の解決法

TimSortの問題でエラーが発生することがある

これは、商品スタッフIIのプログラム全体にわたるものですので、どの部分と特定するのは難しいのですが、Java7以降で変更された機能により、エラーが発生してしまうことがあるようです。特にスタンドアロン版の場合には以下の対処を行ってください。

alone.jarをダブルクリックすると、起動画面が表示されます。一番下の起動設定を選択します。この中に「他のVM引数」という空欄がありますが、そこに

-Djava.util.Arrays.useLegacyMergeSort=true

と入力します。最初の文字はハイフンです。そのまま右下の実行ボタンを押します。後は通常通りです。この設定は自動的にセーブされるので、次回からはこの設定を行う必要はありません。

※ネットワーク版の場合は対処方法が異なります。

この件に関する技術的な詳細は、useLegacyMergeSortフラグの設定にあります。

カスタマディスプレイの接続とドライバについて

サポートするカスタマディスプレイの一つとしてEPSON社製DM-D110がありますが、接続方法やドライバによっては正常に動作しないことがあります。おそらくはEPSON社製のドライバに原因があるか、あるいはWindowsとの組み合わせによるものと思われます。これまでの経験上、確実に動作する方法としては以下になります。

レシートプリンタとは別途に独立してUSB接続する

カスタマディスプレイがシリアルタイプの場合は、USB/シリアルポート変換器(BSUSRC0610BSなど)を使用して、USB接続にします。接続すると、コントロールパネル>デバイスマネージャのポート(COMとLPT)にて、COMポートが現れることを確認してください。

この接続の場合、カスタマディスプレイのドライバのインストールは不要です。

※USB/シリアルポート変換器自体のドライバインストールに問題のある場合は、USB/シリアル変換器のドライバアップデートを参照してください。

商品スタッフII側ではVFD2002Eの設定を行う

商品スタッフII側では、DM-D110をVFD2002Eとしてみなし、その接続設定を行ってください。以下に説明があります。

https://cm55.com/GS/help-current/window/register/DeviceSelection.html

Firebirdの選択について

1.40リリース版はFirebird 2.1に対応しますが、2.5.8でも動作します。この場合、スタンドアロン版でのバックアップ機能が使用できなくなりますが、商品スタッフIIを終了させた後に、gsdb.fdbをコピーすることでも同じです。

1.41開発版では2.5.8に対応しています。2018/7時点では以下になります。

https://www.firebirdsql.org/en/firebird-2-5-8/

Javaとは異なり、32bit-OSでは常に32bit版(Firebird-2.5.8.27089_0_Win32.exe)、64bit-OSでは常に64bit版(Firebird-2.5.8.27089_0_x64.exe)を選択してください。

周辺機器のドライバについて

商品スタッフIIマニュアル中でご紹介している機器のドライバが最新OSに対応していない場合があります。購入の際はメーカーに確認してください。

ネットワーク版に関する注意

以下はネットワーク版にのみ適用される注意事項です。

ポート解放について

サーバとなるパソコンのLAN内でのファイアウォールを無効にしてください。「ホームネットワークまたは社内(プライベート)ネットワークのファイアウォール」という名前になります。

サーバ側は、ポート8080、3050、4455が解放されている必要がありますが、個別に行うのは面倒なものです。一般にLAN内でのファイアウォールを無効にすることは何ら問題になりません。

Java Web Startにおけるセキュリティ強化策の回避について

ネットワーク版では、Java Web Startという仕組みを使用していますが、Java7以降、Java側のセキュリティが強化されており、そのままでは端末プログラムが動作しません。この回避策を以下で説明しています。

Java7 update51によるセキュリティ強化策の回避方法について