COMatePLUS Tobit David eine Mail schreiben

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: COMatePLUS Tobit David eine Mail schreiben

Beitrag 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
a²+b²=mc²
Benutzeravatar
kunstlust
Beiträge: 259
Registriert: 12.04.2012 23:47
Wohnort: Hannover
Kontaktdaten:

Re: COMatePLUS Tobit David eine Mail schreiben

Beitrag 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
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: COMatePLUS Tobit David eine Mail schreiben

Beitrag 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
a²+b²=mc²
Benutzeravatar
kunstlust
Beiträge: 259
Registriert: 12.04.2012 23:47
Wohnort: Hannover
Kontaktdaten:

Re: COMatePLUS Tobit David eine Mail schreiben

Beitrag von kunstlust »

Gleiche Problem. In oAnzahl steht die Anzahl der Einträge die im Adressbuch vorhanden sind, bei mir 39
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: COMatePLUS Tobit David eine Mail schreiben

Beitrag von Kiffi »

einen hamma noch:

Code: Alles auswählen

oAddress = oDavidAdress\GetObjectProperty("Item(" + Str(2) + " As Long)")
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
kunstlust
Beiträge: 259
Registriert: 12.04.2012 23:47
Wohnort: Hannover
Kontaktdaten:

Re: COMatePLUS Tobit David eine Mail schreiben

Beitrag 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
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: COMatePLUS Tobit David eine Mail schreiben

Beitrag 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
a²+b²=mc²
Benutzeravatar
kunstlust
Beiträge: 259
Registriert: 12.04.2012 23:47
Wohnort: Hannover
Kontaktdaten:

COMatePLUS Tobit David eine Mail schreiben

Beitrag von kunstlust »

Das mache ich und habe ich beim dem Test hier vergessen, aber ich habe doch ein wichtige Dinge gelernt, danke noch einmal!
Antworten