Ich arbeite intern mit StrLCopy...
Delphi-Quellcode:
const
MAX_RESULT = 4000;
...
function GetMails(Mails: PChar; KillDuplicates, RealNameEnabled,
RealNameSimulated, FromOutlook, FromOpera, FromNetscape, FromLotusNotes,
FromEudora, FromPegasus: boolean): Boolean; overload; export; stdcall;
var
MyMailList: TFr_LocalMail;
begin
MyMailList := nil;
Result := False;
try
MyMailList := TFr_LocalMail.Create(nil);
MyMailList.KillDuplicates := KillDuplicates;
MyMailList.RealNameEnabled := RealNameEnabled;
MyMailList.RealNameSimulated := RealNameSimulated;
MyMailList.FromOutlook := FromOutlook;
MyMailList.FromOpera := FromOpera;
MyMailList.FromNetscape := FromNetscape;
MyMailList.FromLotusNotes := FromLotusNotes;
MyMailList.FromEudora := FromEudora;
MyMailList.FromPegasus := FromPegasus;
StrLCopy(Mails, PCHar(MyMailList.Mails.CommaText), MAX_RESULT);
result := True;
finally
MyMailList.Free;
end;
end;
Es macht aber keinen Unterschied, ob ich mit StrCopy oder StrLCopy arbeite... in beiden Fällen funktioniert der
DLL Aufruf über ein Delphi-Program probemlos, aber VBA crasht

...
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.