- ベストアンサー
Visual Studioの開発環境について
- Windows向けのプログラム開発におすすめのVisual Studio 2019環境とは?
- VB6でのプログラムを移植しようとしたらエラーが発生したので、バージョンアップを検討中
- VBや.NET、C、C++の経験者の方々の意見を聞きたい
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>>開発環境として今から作り直す場合にお薦めの環境はありますでしょうか? (ご希望と違うかもしれませんが) Windows上で動作していて、当時VB6で開発していたなら、VS2019などのVSの環境で良いと思います。その場合の言語は、C#かVB.netのどちらかです。サンプルもMicrosoftや、ネット上に沢山あります。 サンプルコードを見つける工夫をすると良さそうです。 とりいそぎ、以下は参考になると思います。 https://www.atmarkit.co.jp/ait/articles/1409/26/news109.html ※ パソコンと通信をしていた外部機器は、組込みシステム開発されたものだと思いますが、それとやり取りするパソコン上のアプリは、一般的に組込みシステムとは呼ばれることはないです。もしやり取りするアプリが、外部機器のプログラム実行を停止するブレークポイントの設定など、高度なデバッグ機能があったとしても、Windows上のアプリというカテゴリに入ります。(知識や技術としては、組込みシステム開発するより高度なものが必要になりますが、、、) ※ VB6のコードをVSで読み込んで構文エラーがでるのは仕方ないです。VB6アプリはVB6のランタイムに依存していましたが、現状のVSのVB.netもC#も、.NET Frameworkなどのライブラリを使用していて、それはVB6のランタイムとは全く異なるからです。 この「全く異なる」は本当に大変なもので、VB6での開発には当時混乱が生じたようです。しかし、古いバージョンのWindowsパソコンまたは仮想マシン上の古いWindowsに、VB6をインストールして今でもVB6アプリをメンテナンスしている人はいるようです。 以下のように、VB6ランタイムが、Windows8や10で動作するか注目がされているからです。 https://techinfoofmicrosofttech.osscons.jp/index.php?VB6%E3%81%AE%E4%BF%9D%E5%AE%88 ※ 現状も、.NET Framework → .NET Core → .NET 5という感じで、アプリのライブラリは設計変更や見直しは継続しています。最新のもので開発しても、結局しばらくすれば古くなり、新しいものが出てきます。どこかで妥協する必要はあるように思います。 ※ おそらくですが、RS-232Cの通信は、USBポートを介するアダプタを利用されているのではないでしょうか。現状のパソコンに、RS-232Cポートが実装されることはないからです。そして、将来的にはUSBポートも新しいものに変更されることが予想されます。 変えるなら、RS-232C接続の外部機器を、EthernetかWi-Fiあたりで接続できるように開発しなおす検討をしたほうが、今回のアプリをCやC++で作り直すより合理的な気がします。 このようなLAN接続なら、スマホやタブレット上のアプリのような選択肢が広がります。 ※ 最初のプログラムがVB6という、どちらかというとカジュアルな開発ツールが使われたことを考えると、それほど厳密に将来性を考えて設計されてはいないのではないでしょうか。今になって、CやC++で開発しなおす必要性や重要性がでるとは考えにくいです。 現状でCやC++でバリバリとコードを記述し、高額な収入を得ている人は、データベースそのものとか、データベースとの通信を行うプロトコルのレイヤーなんかなら、あり得そうです。デバイスドライバなんかもCやC++で記述されるようですが、高収入になるかは微妙かもしれません。 以上、参考にならなかったらごめんなさい。
その他の回答 (1)
- wormhole
- ベストアンサー率28% (1626/5665)
>RS-232C接続できる機械をPCでシリアル通信で制御を行っていました。 >組み込み系とでも言えば良いでしょうか。 これは組み込み系とはいわないです。 一般的に組み込み系といった場合には「特定の機能を実現するために機械や機器に組み込まれるコンピュータシステム」になります。 Officeとの連携を考えておられるのでしたら、C#かVB.NETがよろしいかと。
お礼
組み込み系ではないのですね。 どう説明すればわからなかったので、上記表現が近いのかなと思って書かせていただきました。 失礼しました。 で、言語はC#、VB.NETですか。 Visual Studioのチュートリアルを見ながら勉強してみます。 ありがとうございました。
お礼
URLを紹介していただき、ありがとうございます。 参考にさせていただきます。 ランタイムエラーについては確かに発生しました。 dllファイルがないとなって、Webを検索してインストールしたりしていました。 このようなことがあったので、VB6で作ったプログラムは使えないな、と感じました。 このプログラムは社内でも個人的に作ったもので、他の人に引き継げるものではありませんでした。 そろそろ装置含めて引継ぎを検討する必要が出てきたので、今回の質問に至りました。 外部機器のほうも古いものでRS-232Cでしか接続する手段がありません。 PCとの接続はご指摘の通り、USBに変換して仮想COMポートを通して制御していました。 上位機種ではUSBやEthernet対応するものもありますが、合計すると50万近くするので、機器を更新することはできません。 話しそれましたが、古い機器を活かして、最初に提案していただいたC♯かVB.NETでチャレンジしてみます。 以上です。