件名: Win11でのオートメーション
投稿日: 2026年7月12日 01:18 JST
投稿者: ゲストユーザー
Windows 11 Pro 25H2
BeDraw7.79の環境です。
どこかのアップデートが原因だと思うのですが、
今まで出来ていたオートメーションの表示がおかしくなっています。
特に縦線。
例えばVBAで
Dim BeDraw As Object
Dim n As Integer
Dim ex As Double
(略)
BeDraw.SetVisible 1
(略)
BeDraw.SetScale 1, 1
BeDraw.SetOrigin 0
ex = 10
For n = 1 To 5
BeDraw.AddLine ex, -10, ex, -20
MsgBox ex
ex = ex + 30
Next
(略)
MsgBox exの値は0(ゼロ)が5回表示されます。
----------------------------------------
For n = 1 To 5
BeDraw.AddLine ex*1, -10, ex*1, -20 ←exに×1をしている。
MsgBox ex
ex = ex + 30
Next
MsgBox exの値は10,40,70,100,130となります。
(これが望む状態)
-----------------------------------------
原因はわからないのですが、変数に×1をすると今までと同じ状態になります。
また、BeDraw.AddLineの行を消しても10,40,70,100,130となります。
簡単なVBAは変数に×1を付加お疲れ様ですすることで対応はできるのですが、
複雑なものは不具合箇所を探すのに時間を要します。
また、私作成の測量座標管理にも同じ原因と思われる不具合が生じています。
こちらはDelphi4~5で作成した、かなり古いソフトで現在の環境では動かないコンポーネントも多数使用しており、現実的にコードの修正は不可能な状態です。
今まで問題なかったものが不具合が出ていますのでWindowsのアップデータが原因だと思うのですが、
最新の状態を保ったまま、Windowsの設定で回避できる方法があるでしょうか?
それかBeDrawのオートメーション側で対応可能であれば、ありがたいのですが。
前述のとおりかなり古いソフトなので、いつかこんな日が来るんじゃないかと思ってはいました。
緊急的な措置として仮想環境のWinXPで現状は対応しています。
半分諦めてはいますが、手間が増えますので、なんとかならいか思案しています。
思い当たることがあれば教えてください。
よろしくお願いいたします。
-
建築フォーラム(farchi) - 掲示板
https://www.farchi.jp/forum/viewtopic.php?showtopic=11190