AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tobit DvISE Programmierung

Ein Thema von DelphiPeter · begonnen am 6. Apr 2008 · letzter Beitrag vom 7. Apr 2008
 
DelphiPeter

Registriert seit: 21. Dez 2007
Ort: Iserlohn
198 Beiträge
 
Delphi 2010 Professional
 
#1

Tobit DvISE Programmierung

  Alt 6. Apr 2008, 19:02
Hallo Leute

Ich habe ein großes Problem. Kennt sich jemand mit Tobit DvISE API Programmierung aus? Ich komme zwar gut zurecht, aber ich habe Probleme mit dem FaxItem Objekt.

Und zwar muss ich die Absender Fax Nummer auslesen. Über Visual C# geht das so oFaxItem.Field("SRFrom").Value. In der Dokkumentation der API wird der Zugriff auf Fields zu beschrieben.

Zitat:
get_Fields

Returns the Items Field Collection
In addition, the item allows access to seperate fields as properties of the object itself. A field can be addressed via their ID in the fields collection.

List of defined field IDs: Field ID's

Midl:
IDispatch* Fields();




Syntax:
HRESULT Fields([out, retval] IDispatch** lppFields);
[out]lppFields: contains the Fields object



Example:
VARIANT vIndex;
Archive* pArchive = NULL;
MessageItems* pMessageItems = NULL;
MessageItem* pMessageItem = NULL;
FaxItem* pFaxItem = NULL;
Fields* pFields = NULL;
Field* pField = NULL;

vIndex.vt = VT_I4;
if (SUCCEEDED (pAcc->GetSpecialArchive(DvArchivePersonalIn,&pArchive)) )
{
if (SUCCEEDED(pArchive->get_AllItems(&pMessageItems)))
{
vIndex.lVal = 1;
if (SUCCEEDED(pMessageItems->Item(vIndex, &pMessageItem)))
{
if (SUCCEEDED(pMessageItem->QueryInterface(IID_FaxItem,(void**)&pFaxItem)))
{
if (SUCCEEDED (pFaxItem->get_Fields((LPDISPATCH)&pFields)))
{
VARIANT vt;
vt.vt = VT_I4;
vt.lVal = Field_FullnameFrom;
if (SUCCEEDED (pFields->Item(vt, &pField)))
{
VariantInit(&vt);
pField->get_Value(&vt);
...
pField->Release ();
}
pFields->Release ();
}
}
pMessageItem->Release();
}
pMessageItems->Release();
}
pArchive->Release();
}
Mein Ansatz sieht so aus:

Delphi-Quellcode:
...
oApp := CreateOLEObject('DVOBJAPILIB.DvISEAPI') as IApplication;
oAccount := oApp.Logon(Unassigned, Unassigned, Unassigned, Unassigned, Unassigned, 'AUTH');
oArchive := OAccount.GetArchive(archiv);
oMessageItems := oArchive.FaxItems;

...

for m := 0 to oMessageItems.Count-1 do begin
   oFaxItem := oMessageItems.Item(m) as FaxItem;

   AbsenderFax := oFaxItem.Fields('SRFROM');
end;
...
Dann bekomme ich den Fehler nach Fields "Operator oder Semikolon fehlt."


Also wenn jemand Ahnung hat, oder mir sonst irgendwie helfen kann, wäre ich wirklich sehr sehr dankbar!

Danke

Peter

[edit=SirThornberry]Titel geändert - Das du Hilfe benötigst sagt bereits das gewählte Forum aus und ob du die Hilfe dringend brauchst oder nicht beschreibt das Problem ja nicht wozu aber der Titel da ist - Mfg, SirThornberry[/edit]
Peter Majewski
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz