Seite 2 von 2

Re: COMatePLUS Tobit David eine Mail schreiben

Verfasst: 22.05.2012 11:28
von Kiffi
kunstlust hat geschrieben:Nun bekomme ich "DvISE: Bad Parameter"
zeig bitte nochmal den ganzen Code.
kunstlust hat geschrieben:aber ist der Weg über "CreateEnumeration" nicht besser?
CreateEnumeration ist ein anderer Weg. Kein besserer (und kein schlechterer)

Hätte ich nur mehr erklären müssen :-)

Grüße ... Kiffi

Re: COMatePLUS Tobit David eine Mail schreiben

Verfasst: 22.05.2012 12:11
von kunstlust
Gerne:

Code: Alles auswählen

XIncludeFile "COMatePLUS.pbi"

Define oDavidApp.COMateObject
Define oDavidAccount.COMateObject
Define oDavidArchive.COMateObject
Define oDavidMessageItems.COMateObject
Define oDavidMsgItem.COMateObject
Define oDavidAdress.COMateObject
Define oAddress.COMateObject
Define oAddressitem.COMateObject

oDavidApp = COMate_CreateObject("DVOBJAPILib.DvISEAPI")
If oDavidApp = 0 : MessageRequester ("", "David.fx muss geöffnet sein") : End : EndIf

oDavidAccount=oDavidApp\GetObjectProperty("Logon('', '', '', '', '', 'AUTH')")

If oDavidAccount = 0 
  MessageRequester(Str(oDavidAccount),"Logon Error")
  oDavidApp\Release() : oDavidApp = 0
  End
Else
  ;MessageRequester(Str(oDavidAccount),"Logon geht")

oDavidAdress = oDavidAccount\GetObjectProperty("LocalAddressBook") 
oAnzahl = oDavidAdress\GetIntegerProperty("count")

oAddress = oDavidAdress\GetObjectProperty("Item(" + Str(2) + ")")
;Debug oAddress\GetStringProperty("Email")

Debug COMate_GetLastErrorDescription()
EndIf

Re: COMatePLUS Tobit David eine Mail schreiben

Verfasst: 22.05.2012 12:54
von Kiffi
mh, seltsam. Was steht in oAnzahl?

Versuch mal:

Code: Alles auswählen

oAddress = oDavidAdress\GetObjectProperty("Item(" + Str(2) + " As Integer)")
Grüße ... Kiffi

Re: COMatePLUS Tobit David eine Mail schreiben

Verfasst: 22.05.2012 13:33
von kunstlust
Gleiche Problem. In oAnzahl steht die Anzahl der Einträge die im Adressbuch vorhanden sind, bei mir 39

Re: COMatePLUS Tobit David eine Mail schreiben

Verfasst: 22.05.2012 13:54
von Kiffi
einen hamma noch:

Code: Alles auswählen

oAddress = oDavidAdress\GetObjectProperty("Item(" + Str(2) + " As Long)")
Grüße ... Kiffi

Re: COMatePLUS Tobit David eine Mail schreiben

Verfasst: 22.05.2012 14:38
von kunstlust
Treffer!!!!
Ich danke dir Kiffi!!!

Aber es ist schon etwas anders als unter AutoIt. Ich finde PB super, aber es ist nicht immer einfach... :praise:

hier nun die einfache Liste:

Code: Alles auswählen


XIncludeFile "COMatePLUS.pbi"


Enumeration
  #Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
  #IPAddress_0
  #Button_1
  #String_4
EndEnumeration

Define oDavidApp.COMateObject
Define oDavidAccount.COMateObject
Define oDavidArchive.COMateObject
Define oDavidMessageItems.COMateObject
Define oDavidMsgItem.COMateObject
Define oDavidAdress.COMateObject
Define oAddress.COMateObject
Define oAddressitem.COMateObject

oDavidApp = COMate_CreateObject("DVOBJAPILib.DvISEAPI")
If oDavidApp = 0 : MessageRequester ("", "David.fx muss geöffnet sein") : End : EndIf

oDavidAccount=oDavidApp\GetObjectProperty("Logon('', '', '', '', '', 'AUTH')")

If oDavidAccount = 0 
  MessageRequester(Str(oDavidAccount),"Logon Error")
  oDavidApp\Release() : oDavidApp = 0
  End
Else
oDavidAdress = oDavidAccount\GetObjectProperty("LocalAddressBook") 
oAnzahl = oDavidAdress\GetIntegerProperty("count")


EndIf

Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 249, 210, 429, 400, "Adressen", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    If ButtonGadget(#Button_1, 45, 350, 85, 20, "Suchen")
      ListIconGadget(#String_4,10, 30, 395, 260,"Displanme",150, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_GridLines )
      AddGadgetColumn(#String_4,2,"Email",160)

  
    EndIf
  EndIf
EndProcedure

OpenWindow_Window_0()

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  Select Event
      ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      If EventGadget = #IPAddress_0
      ElseIf EventGadget = #Button_1
      

For T = 0 To oAnzahl -1
oAddress = oDavidAdress\GetObjectProperty("Item(" + Str(t) + " As Long)")
Displayname.s=  oAddress\GetStringProperty("Displayname")
email.s=  oAddress\GetStringProperty("Email")
AddGadgetItem(#String_4, -1,Displayname+Chr(10)+email+Chr(10))

Next

        
      ElseIf EventGadget = #String_4
      EndIf
      ; ////////////////////////
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
        CloseWindow(#Window_0)
        Break
      EndIf
  EndSelect
ForEver

Re: COMatePLUS Tobit David eine Mail schreiben

Verfasst: 22.05.2012 16:03
von Kiffi
kunstlust hat geschrieben:Ich danke dir Kiffi!!!
kein Thema!

Du solltest aber der Vollständigkeit halber Deinen Code so
gestalten, dass Du alle angeforderten Objekte mit Release()
wieder freigibst.

Grüße ... Kiffi

COMatePLUS Tobit David eine Mail schreiben

Verfasst: 22.05.2012 22:41
von kunstlust
Das mache ich und habe ich beim dem Test hier vergessen, aber ich habe doch ein wichtige Dinge gelernt, danke noch einmal!