2012-01-25 4 views
0

VB6でビルドされたDLLとOCXコントロールを含むアドインがあります。それぞれは独立しています。つまり、アドインはAddin.DLLとAddin.OCXで構成されています。アドインは、OutlookのIPM.Appointmentフォームから構築されたカスタムフォームを使用します。 OFTファイルとしてユーザーのマシンに展開され、アドインの最初のOnConnectionでPresonフォームライブラリに発行されます。ActiveXコントロールが1つのオフ状態でスタックされたフォームを含むアドインフォーム

私は私のAppointmentItem書き込みとのPropertyChangeクラスに次のようなコードを追加するために私を必要な状態オフ1で立ち往生している形、との問題を抱えていた。

Private Sub AppointmentItem_PropertyChange(ByVal name As String) 
    On Error GoTo ErrorHandler 

    Select Case name 
     Case "MessageClass" 
      Dim strGuid As String 
      ' Check to see if this is one of our appointmentitems. 
      If IsItemUserItem(AppointmentItem_PropertyChange, strGuid) Then 
        ' Change to our add-in message class. IPM.Appointment.XXX 
        AppointmentItem.MessageClass = gFormMsgClass 
      End If 
    End Select 

done: 
    Exit Sub 

ErrorHandler: 
    Trace "Error writing appointment item." 
    Resume done 

End Sub 

これは、ほとんどの場合のために働きます。しかし、私はまだインスタンスに実行しているときに私は、それがDLLとOCX間のデータ共有を容易にするために使用されるUserPropertiesにアクセスできない例外である場合、NewInspectorイベント中にアイテムをチェックします。

また、フォームデザイナーでフォームを編集しようとすると、Outlook 2007のOFTとしてフォームを保存できません。これで何が起こっているのかについて、私は少し迷っています...感謝。

答えて

0

実際には私自身の答えがあるようです。アイテムに追加されていないユーザー定義のプロパティがフォルダに追加され、問題の原因となっていました。

関連する問題