AGB  ·  Datenschutz  ·  Impressum  







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

GetMem, TMapiRecipDesc und Delphi 2006

Ein Thema von gklapper · begonnen am 2. Mär 2006 · letzter Beitrag vom 2. Mär 2006
Antwort Antwort
gklapper

Registriert seit: 2. Mär 2006
6 Beiträge
 
#1

GetMem, TMapiRecipDesc und Delphi 2006

  Alt 2. Mär 2006, 09:25
Ich kann in meiner App über ein eigenes E-Mail Formular E-Mails mittels MAPI versenden. Folgendes Codefragment aus meiner Senden-Prozedur:

Delphi-Quellcode:
var
  Recipients: array of TMapiRecipDesc;
  RecipientCount: Integer;

begin
...
  if RecipientCount>0 then
    begin
      SetLength(Recipients,RecipientCount);
      GetMem(Recipients, SizeOf(TMapiRecipDesc) * RecipientCount);
...
end

TMapiRecipDesc ist aus der Delphi MAPI unit und hat folgende Struktur:

MapiRecipDesc = packed record
    ulReserved: Cardinal; { Reserved for future use                  }
    ulRecipClass: Cardinal; { Recipient class                          }
                                { MAPI_TO, MAPI_CC, MAPI_BCC, MAPI_ORIG    }
    lpszName: LPSTR; { Recipient name                           }
    lpszAddress: LPSTR; { Recipient address (optional)             }
    ulEIDSize: Cardinal; { Count in bytes of size of pEntryID       }
    lpEntryID: Pointer; { System-specific recipient reference      }
  end;
  TMapiRecipDesc = MapiRecipDesc;
Oben genannten Code habe ich in Delphi7 entwickelt und er lief bisher immer klaglos. Nun bin ich auf Delphi2006 umgestiegen und der Compiler meckert auf einmal bei

GetMem(Recipients, SizeOf(TMapiRecipDesc) * RecipientCount);
[Pascal Fehler] SendEMailUnit.pas(258): E2008 Inkompatible Typen

Wenn ich die Zeile auskommentiere, funktioniert das Senden der E-Mail immer noch. Nun meine Frage: Benötige ich das GetMem an dieser Stelle überhaupt, oder wird nicht automatisch Speicher über das SetLength(Recipients,RecipientCount) allokiert?

Viele Grüße

Guido

[edit=sakura] [delphi]-Tags Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: GetMem, TMapiRecipDesc und Delphi 2006

  Alt 2. Mär 2006, 09:53
Genau so ist es: du brauchst das GetMem nicht.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:38 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