neue Api -> altes geht nicht mehr

neue Api -> altes geht nicht mehr

Neuer Beitragvon gast » Fr Nov 10, 2006 11:11 am


Hallo Leidensgenossen!
Mit David 10 wird alles besser ;-)

Hat schon jemand dvemlfrommailitem mit der neuen dvapi32.dll von David 10
ausprobiert?
Wenn ja, funktioniert es bei euch? Wenn ja, warum funktioniert es nicht mehr
bei mir?

Frustrierte Grüße
Torben
gast
 
Beiträge: 0
Registriert: Mo Jun 01, 2009 12:08 pm

Advertisement

Re: neue Api -> altes geht nicht mehr

Neuer Beitragvon gast » Fr Nov 10, 2006 1:03 pm


Hallo,

also ich nutze auch die API-Funktion DVEmlFromMailItem und bei mir
funktioniert diese noch immer wie gehabt! Wie sieht denn dein Code dazu
aus? Vielleicht kann man dir dann ein bissle helfen ;)

Greeze, F. Kunze

mail@zick.de wrote:
Hallo Leidensgenossen!
Mit David 10 wird alles besser ;-)

Hat schon jemand dvemlfrommailitem mit der neuen dvapi32.dll von David 10
ausprobiert?
Wenn ja, funktioniert es bei euch? Wenn ja, warum funktioniert es nicht mehr
bei mir?

Frustrierte Grüße
Torben


gast
 
Beiträge: 0
Registriert: Mo Jun 01, 2009 12:08 pm

Re: neue Api -> altes geht nicht mehr

Neuer Beitragvon gast » Fr Nov 10, 2006 2:02 pm


Hallo,

also ich deklariere die extrene Funktion mit

function DVEmlFromMailItem(const oMailItem : messageitem; strFilename :
string) : integer ; stdcall;

und rufe sie dann auf mit:

s_dummy:= stringofchar(#32,MAX_PATH);

if DVEmlFromMailItem(o_messageitem,s_dummy,0) <> 0 then

zwischendrin wird noch das messageitemobject erzeugt mit

o_messageitem := o_dv_archive.ItemFromId(s_messageid,34);

Das alles hat mit der Version 8 funktioniert. Habe gerade auf die Version 10
upgedatet und nüscht geht mehr. Immer Zugriffsverletzung an Adresse bla,
lesen von Adresse 0.

Hoffe, Du kannst mir helfen.

Achja, das ganze passiert mit Delphi 5.

Gruß
Torben

schrieb im Newsbeitrag
news:3008090070@news.tobit.com...
Hallo,

also ich nutze auch die API-Funktion DVEmlFromMailItem und bei mir
funktioniert diese noch immer wie gehabt! Wie sieht denn dein Code dazu
aus? Vielleicht kann man dir dann ein bissle helfen ;)

Greeze, F. Kunze

mail@zick.de wrote:
Hallo Leidensgenossen!
Mit David 10 wird alles besser ;-)

Hat schon jemand dvemlfrommailitem mit der neuen dvapi32.dll von David 10
ausprobiert?
Wenn ja, funktioniert es bei euch? Wenn ja, warum funktioniert es nicht mehr
bei mir?

Frustrierte Grüße
Torben



gast
 
Beiträge: 0
Registriert: Mo Jun 01, 2009 12:08 pm

Re: neue Api -> altes geht nicht mehr

Neuer Beitragvon gast » Mo Nov 13, 2006 8:30 am


Hallo Troben,

leider kann ich dir in Delphi nicht weiter helfen ;(.
Ich habe es in VB gemacht aber es kann dir sicher weiterhelfen.

Die API habe ich wie folgt definiert:

Public Declare Function DVEmlFromMailItem Lib "DvApi32" (ByVal oMailItem
As DvApi32.MailItem, ByVal strFileName As String) As Long

Das eMail Objekt habe ich mir wie folgt besorgt:
....
Set oMessageItem2 = oArchive.GetArchiveEntryByID(sItemPath)

' ID des MessageItem speichern
nMessageID = oMessageItem2.Fields("RecNo").Value

' Aus dem MessageItem2 ein MessageItem machen, um daraus dann ein
MailItem ('ChangeType') zu machen
' --> fuer dir Funktion 'DVEmlFromMailItem'
Set oMessageItem = oArchive.ItemFromID(nMessageID, 34)
Set oMailItem = oMessageItem.ChangeType(DvEMailItem)
....

Und mein Aufruf sieht da wie folgt aus:
....
If (mRegistry.DVEmlFromMailItem(oMailItem, sFileName) <> 0) Then
....

Was mir nicht ganz klar ist, dass du drei Parameter angibst. Ist der
optional? Wofuer steht der? Lass ihn mal weg, vielleicht funktioniert es
ja dann.
Was ich noch gesehen habe ist, dass du zwar das eMail Objekt besorgst,
aber nicht speziell castest mit
Set oMailItem = oMessageItem.ChangeType(DvEMailItem)

Evtl. liegt auch hier der Hund bei dir vergraben?

Ich hoffe, dass ich dir ein wenig helfen konnte auch wenn es nur
VBScript ist.

Gruesse Friedemann

mail@zick.de wrote:
Hallo,

also ich deklariere die extrene Funktion mit

function DVEmlFromMailItem(const oMailItem : messageitem; strFilename :
string) : integer ; stdcall;

und rufe sie dann auf mit:

s_dummy:= stringofchar(#32,MAX_PATH);

if DVEmlFromMailItem(o_messageitem,s_dummy,0) <> 0 then

zwischendrin wird noch das messageitemobject erzeugt mit

o_messageitem := o_dv_archive.ItemFromId(s_messageid,34);

Das alles hat mit der Version 8 funktioniert. Habe gerade auf die Version 10
upgedatet und nüscht geht mehr. Immer Zugriffsverletzung an Adresse bla,
lesen von Adresse 0.

Hoffe, Du kannst mir helfen.

Achja, das ganze passiert mit Delphi 5.

Gruß
Torben

schrieb im Newsbeitrag
news:3008090070@news.tobit.com...
Hallo,

also ich nutze auch die API-Funktion DVEmlFromMailItem und bei mir
funktioniert diese noch immer wie gehabt! Wie sieht denn dein Code dazu
aus? Vielleicht kann man dir dann ein bissle helfen ;)

Greeze, F. Kunze

mail@zick.de wrote:
Hallo Leidensgenossen!
Mit David 10 wird alles besser ;-)

Hat schon jemand dvemlfrommailitem mit der neuen dvapi32.dll von David
10
ausprobiert?
Wenn ja, funktioniert es bei euch? Wenn ja, warum funktioniert es nicht
mehr
bei mir?

Frustrierte Grüße
Torben





gast
 
Beiträge: 0
Registriert: Mo Jun 01, 2009 12:08 pm

Re: neue Api -> altes geht nicht mehr

Neuer Beitragvon gast » Di Nov 14, 2006 11:43 am


Hallo Friedemann,

ja, ich übergebe ein messageitem direkt an die Funktion. Bis V.8 hat das
auch wunderbar geklappt.
Das Problem ist nur, daß ich das Testweise auch mal mit einem Mailitem
versucht habe, bekomme aber die gleiche Fehlermeldung.
Leider bin ich z.Z. ein wenig im Stress (Umzug) werde mich aber nächste
woche nochmal dransetzen und dann berichten.
Der dritte Parameter wurde hier mal von Hakan postuliert und ich habe das
mal ausprobiert. Funktionierte auch mit zweien und behebt den Fehler auch
nicht.
Aber ich werde das mal explizit casten, vielleicht hilfst ja...

Vielen dank fürs erste!
Gruß
Torben
schrieb im Newsbeitrag
news:1744298617@news.tobit.com...
Hallo Troben,

leider kann ich dir in Delphi nicht weiter helfen ;(.
Ich habe es in VB gemacht aber es kann dir sicher weiterhelfen.

Die API habe ich wie folgt definiert:

Public Declare Function DVEmlFromMailItem Lib "DvApi32" (ByVal oMailItem
As DvApi32.MailItem, ByVal strFileName As String) As Long

Das eMail Objekt habe ich mir wie folgt besorgt:
...
Set oMessageItem2 = oArchive.GetArchiveEntryByID(sItemPath)

' ID des MessageItem speichern
nMessageID = oMessageItem2.Fields("RecNo").Value

' Aus dem MessageItem2 ein MessageItem machen, um daraus dann ein
MailItem ('ChangeType') zu machen
' --> fuer dir Funktion 'DVEmlFromMailItem'
Set oMessageItem = oArchive.ItemFromID(nMessageID, 34)
Set oMailItem = oMessageItem.ChangeType(DvEMailItem)
...

Und mein Aufruf sieht da wie folgt aus:
...
If (mRegistry.DVEmlFromMailItem(oMailItem, sFileName) <> 0) Then
...

Was mir nicht ganz klar ist, dass du drei Parameter angibst. Ist der
optional? Wofuer steht der? Lass ihn mal weg, vielleicht funktioniert es
ja dann.
Was ich noch gesehen habe ist, dass du zwar das eMail Objekt besorgst,
aber nicht speziell castest mit
Set oMailItem = oMessageItem.ChangeType(DvEMailItem)

Evtl. liegt auch hier der Hund bei dir vergraben?

Ich hoffe, dass ich dir ein wenig helfen konnte auch wenn es nur
VBScript ist.

Gruesse Friedemann

mail@zick.de wrote:
Hallo,

also ich deklariere die extrene Funktion mit

function DVEmlFromMailItem(const oMailItem : messageitem; strFilename :
string) : integer ; stdcall;

und rufe sie dann auf mit:

s_dummy:= stringofchar(#32,MAX_PATH);

if DVEmlFromMailItem(o_messageitem,s_dummy,0) <> 0 then

zwischendrin wird noch das messageitemobject erzeugt mit

o_messageitem := o_dv_archive.ItemFromId(s_messageid,34);

Das alles hat mit der Version 8 funktioniert. Habe gerade auf die Version 10
upgedatet und nüscht geht mehr. Immer Zugriffsverletzung an Adresse bla,
lesen von Adresse 0.

Hoffe, Du kannst mir helfen.

Achja, das ganze passiert mit Delphi 5.

Gruß
Torben

schrieb im Newsbeitrag
news:3008090070@news.tobit.com...
Hallo,

also ich nutze auch die API-Funktion DVEmlFromMailItem und bei mir
funktioniert diese noch immer wie gehabt! Wie sieht denn dein Code dazu
aus? Vielleicht kann man dir dann ein bissle helfen ;)

Greeze, F. Kunze

mail@zick.de wrote:
Hallo Leidensgenossen!
Mit David 10 wird alles besser ;-)

Hat schon jemand dvemlfrommailitem mit der neuen dvapi32.dll von David
10
ausprobiert?
Wenn ja, funktioniert es bei euch? Wenn ja, warum funktioniert es nicht
mehr
bei mir?

Frustrierte Grüße
Torben






gast
 
Beiträge: 0
Registriert: Mo Jun 01, 2009 12:08 pm


Zurück zu David Developer API DvAPI

 


  • { RELATED_TOPICS }
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron