タイトル | : Form1から起動すると動作しなくなる |
記事No | : 11318 |
投稿日 | : 2014/09/18(Thu) 11:10 |
投稿者 | : aMa |
------------------------------------------------------- 以下、Form1.vb Public Class Form1 ・・・ End Class ------------------------------------------------------- 以下、Form2.vb* Public Class Form2 ・・・ End Class <PermissionSet(SecurityAction.Demand, Name:="FullTrust")> _ <System.Runtime.InteropServices.ComVisibleAttribute(True)> _ Public Class ExternalGMapObj Public Sub MouseClick(ByVal lat As Double, ByVal lng As Double) MsgBox("Googlemap" & vbCrLf & _ "緯度:" & Format(lat, "###.######").ToString & vbCrLf & _ "経度:" & Format(lng, "###.######").ToString, MsgBoxStyle.OkOnly, _ "取得先GoogleMap") End Sub Public Sub MouseMove(ByVal lat As Double, ByVal lng As Double) Form2.ToolStripStatusLabel2.Text = Format(lat, "###.######").ToString Form2.ToolStripStatusLabel4.Text = Format(lng, "###.######").ToString End Sub End Class --------------------------------------------------------
Form2単独では動作する Form2をForm1から起動する様にした場合、MouseMove内の2行の**.Textで次のエラーとなる 「非共有メンバーを参照するには、オブジェクト参照が必要です。」 Form2をForm1から起動する様にした場合でも、MouseClickは動作する Form2をForm1から起動する様にした場合でも、MouseMoveにMsgBoxを配置でMsgBoxは動作する 非共有/参照エラーではなく、Delegate/Invokeが必要なのではないかと思う
VB経験3ヶ月です。Windows8.1、MicrosoftVisualBasic2010Expressを使用しています。 動作しなくなる原因、その解決策を教えて頂きたく、よろしくお願い致します。
|