質問編集履歴

3

大きい原因が一つ解決しているため質問を分割して解決とするため。

2023/01/17 08:19

投稿

yukimeat1999
yukimeat1999

スコア20

test CHANGED
File without changes
test CHANGED
@@ -3,8 +3,6 @@
3
3
  一般公開されている[ソフト(OnStation)](http://cancaver.ca/Survey/OnStation/)を自分のPC環境で使いたいです。
4
4
 
5
5
  以前は上記のサイトから英語版がDLでき、インストールと実行できましたが、さっき自分のPCでやったところできませんでした。(なぜだ…)
6
-
7
- というわけで、通常動作する[ファイル](https://drive.google.com/drive/folders/1CO__RHtg7umGdQMD_pTVH82q0avo4mJD?usp=sharing)のDLリンク貼っときます。
8
6
 
9
7
  洞窟測量時使用する外国のソフトがあるのですが、なぜか私のPC環境でのみ実行できません。
10
8
 
@@ -78,7 +76,6 @@
78
76
 
79
77
  - 自分のPC環境で動かない原因の特定(一応解決)
80
78
  - wglMakeCurrentのエラー除去
81
- - regsvr32.exeの実行をインストール時に行えるようプログラムに組み込む
82
79
 
83
80
  ### 該当のソースコード
84
81
 

2

一部問題の解決について追記

2023/01/02 18:08

投稿

yukimeat1999
yukimeat1999

スコア20

test CHANGED
File without changes
test CHANGED
@@ -51,9 +51,32 @@
51
51
  こうすると、正常に動きます。
52
52
  しかし、私のPCでのみ動きませんでした。
53
53
 
54
+
55
+ ##### 追記
56
+ 以下の2つのdllファイルを削除する操作を、それぞれの環境で行ったところ、それぞれの環境で正常にアプリが起動しました。
57
+ ・GLU32.DLL
58
+ ・OPENGL32.DLL
59
+
60
+ ①私の環境(Win10自作PC)
61
+ 無事アプリが正常に起動し、ウィンドウ上でマウスをスクロールしても、「マウスカーソルの横に砂時計が3回ほど表示され、アプリが終了」ということは起きず、表示される地図のスケールを変更することができました。(**正常にアプリが起動しました**)
62
+ テストとして、過去に作成し、保存していたファイルを開くこともできました。
63
+
64
+ ②VirtualBox(Win11仮想PC)
65
+ こちらの現在正常に動いている方でも試してみました。
66
+
67
+ 最初、アプリを起動状態(わざと)で C:\Program Files\OnStation にあるdll2つを削除しようとしましたが、「OnStationによって開かれているため、操作を完了できません。」と表示されました。
68
+ これから分かる通り、このディレクトリにdllファイルが2つあるときは使用しているようです。
69
+
70
+ もちろん、アプリを閉じてからdllファイル2つを削除し、再度アプリを起動すると、正常に動きました。
71
+
72
+
73
+ 結果、どの環境でもdllを2つ削除すると、正常に起動することが分かりました。
74
+
75
+ なぜ、C:\Program Files\OnStation にdllを置いていると、アプリはそれを使ってしまうのでしょうか?
76
+
54
77
  ### 実現したいこと
55
78
 
56
- - 自分のPC環境で動かない原因の特定
79
+ - 自分のPC環境で動かない原因の特定(一応解決)
57
80
  - wglMakeCurrentのエラー除去
58
81
  - regsvr32.exeの実行をインストール時に行えるようプログラムに組み込む
59
82
 
@@ -109,6 +132,10 @@
109
132
 
110
133
  OpenGLが悪さしているように思いますが、私のPCにはOpenGLを使う普通のソフトも入っており、正常に動作しています。プログラムの環境としてOpenGLはこの[サイト](https://codelabo.com/posts/20200226175317)を参考にしています。
111
134
 
135
+ 上記dllファイルはgitをプルしたディレクトリには入れてないので、関係ないと思いますが、dll削除後にデバックで実行しましたが、同じ場所で例外がスローされます。
136
+
137
+ これは、デバックで実行後に表示されたウィンドウ上でマウスをスクロールすると例外がスローされます。(ocxの問題ですよね多分(笑))
138
+
112
139
  ### 補足情報(FW/ツールのバージョンなど)
113
140
 
114
141
  Windows10

1

エラー文の追記

2023/01/01 18:17

投稿

yukimeat1999
yukimeat1999

スコア20

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  しかし、**exeファイルを実行すると、ウィンドウは表示されるが、ウィンドウ上でスクロールすると、マウスカーソルの横に砂時計が3回ほど表示され、アプリが終了します。**
14
14
 
15
- これは**通常どおりDLした時と同じ挙動**です。
15
+ これは**通常どおりDLした時と同じ挙動**であり、もうひと手間必要です。
16
16
 
17
17
 
18
18
  ここからは、このソフトについて詳しく書きます。
@@ -99,6 +99,12 @@
99
99
 
100
100
  ソース上だと226行目(上のコードだと23行目)にある、```wglMakeCurrent(m_hDC,NULL);```でエラーが出ています。
101
101
 
102
+
103
+ ```error
104
+ 0x7D306CCB (OPENGL32.DLL) で例外がスローされました
105
+ (OnStation.exe 内): 0xC0000005: 場所 0xAF16DFC0 の読み取り中にアクセス違反が発生しました
106
+ ```
107
+
102
108
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-01-01/06262b40-c041-49a9-9a7b-21985ae36bca.jpeg)
103
109
 
104
110
  OpenGLが悪さしているように思いますが、私のPCにはOpenGLを使う普通のソフトも入っており、正常に動作しています。プログラムの環境としてOpenGLはこの[サイト](https://codelabo.com/posts/20200226175317)を参考にしています。