/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Forklaring af 'mystik' effekt/VAR-referenc~
Fra : Alex B. P.


Dato : 04-04-03 09:50

Hej NG !

Jeg er ved at lave en UNIT, som håndterer E-Mail's i en større projekt, og
undrer mig over følgende opførsel under run-time.

Jeg her rimelig forståelse for Delphi syntax'en, men står dog lidt
uforstående overfor en logisk fejl, ved run-time, ved eksekvering af
følgende kode:


Dette compilerer og virker - > Altså hvis det er erklæret som en PROCEDURE
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-----------------------------
Procedure
TTeleEmail.PackReplyEmlAttachments(SubFolder,EmlFileNameAndExt:String;VAR
ChilkatEmailObj:ChilkatEmail;OutAttFileNames:TStrings;VAR
NumOfAttFiles:Byte);
VAR
idx:Byte;
Begin
// Result := 0;
idx := 0;
NumOfAttFiles := OutAttFileNames.Count;

ChilkatEmailObj.Mailer := DefaultXMailerTag;

FOR idx := 0 TO NumOfAttFiles-1 DO
Begin
ChilkatEmailObj.AddFileAttachment(OutAttFileNames[idx]);
end;
end;

function
TTeleEmail.AddAttToReplyEmail(ContactRespID:String;OutAttachmentFileNames:TS
trings):Integer;
VAR
inp:Byte;
Begin
inp := 0;

TeleEmail.PackReplyEmlAttachments(ContactRespID,ReplyEmailNameInZip,ChilkatE
mailOut,OutAttachmentFileNames,inp);
end;
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-----------------------------

Dette compilerer, MEN virker ikke - > ?? (Hvorfor virker det ikke, hvis
erklkæret som en FUNCTION)
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-----------------------------
function
TTeleEmail.PackReplyEmlAttachments(SubFolder,EmlFileNameAndExt:String;VAR
ChilkatEmailObj:ChilkatEmail;OutAttFileNames:TStrings):Byte
VAR
idx,NumOfFiles:Byte;
Begin
Result := 0;
idx := 0;
NumOfAttFiles := OutAttFileNames.Count;

ChilkatEmailObj.Mailer := DefaultXMailerTag;

FOR idx := 0 TO NumOfAttFiles-1 DO
Begin
ChilkatEmailObj.AddFileAttachment(OutAttFileNames[idx]);
end;
Result := NumOfFiles;
end;

function
TTeleEmail.AddAttToReplyEmail(ContactRespID:String;OutAttachmentFileNames:TS
trings):Integer;
Begin
Result :=
TeleEmail.PackReplyEmlAttachments(ContactRespID,ReplyEmailNameInZip,ChilkatE
mailOut,OutAttachmentFileNames);
end;
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-----------------------------

Jeg håber nogen kan bringe list lys over sagen / forklare hvad forskellen
udgør, hvorfor en pointer ikke peger, hvor jeg forventer v/funtion'en
........????

/ABP




 
 
Olav M.J. Christians~ (04-04-2003)
Kommentar
Fra : Olav M.J. Christians~


Dato : 04-04-03 10:41

"Alex B. P." <alexbp@post.tele.dk> skrev i en meddelelse
news:3e8d4749$0$24725$edfadb0f@dread14.news.tele.dk...
[snip]
> Jeg her rimelig forståelse for Delphi syntax'en,
> men står dog lidt uforstående overfor en logisk
> fejl, ved run-time, ved eksekvering af følgende kode:
[snip]

Hvilken fejl får du?

--
M.v.h.
Olav



Alex B. P. (07-04-2003)
Kommentar
Fra : Alex B. P.


Dato : 07-04-03 20:35

Det kører uden EXCEPTION's på runtime, men pointeren peger åbenbart på en
instans af E-Mail-objektet, som ikke er den samme, jeg gemmer via en
SaveAsEml-metode via en indkøbt komponent.

Hvis jeg ændrer metoderne lidt, (som tidl. beskrevet, samt VAR spec.
overførsel via Procedure, istedet for function, ja så bliver der faktisk
vedhæfte de valgte attachment's til *.EML-filen - hvorfor mon ??

Alex

"Olav M.J. Christiansen" <omjc@intete-kontor.dk> skrev i en meddelelse
news:3e8d536c$0$32007$edfadb0f@dread12.news.tele.dk...
> "Alex B. P." <alexbp@post.tele.dk> skrev i en meddelelse
> news:3e8d4749$0$24725$edfadb0f@dread14.news.tele.dk...
> [snip]
> > Jeg her rimelig forståelse for Delphi syntax'en,
> > men står dog lidt uforstående overfor en logisk
> > fejl, ved run-time, ved eksekvering af følgende kode:
> [snip]
>
> Hvilken fejl får du?
>
> --
> M.v.h.
> Olav
>
>



Alex B. P. (07-04-2003)
Kommentar
Fra : Alex B. P.


Dato : 07-04-03 20:38

Det kører uden EXCEPTION's på runtime, men pointeren peger åbenbart på en
instans af E-Mail-objektet, som ikke er den samme, jeg gemmer via en
SaveAsEml-metode via en indkøbt komponent.

Hvis jeg ændrer metoderne lidt, (som tidl. beskrevet, samt VAR spec.
overførsel via Procedure, istedet for function, ja så bliver der faktisk
vedhæfte de valgte attachment's til *.EML-filen - hvorfor mon ??

Altså, ingen fejl, bare en *.EML-fil som kun indeholder plain-text body,
headers o.s.v. men ingen attachment i 1. model.

Alex

"Olav M.J. Christiansen" <omjc@intete-kontor.dk> skrev i en meddelelse
news:3e8d536c$0$32007$edfadb0f@dread12.news.tele.dk...
> "Alex B. P." <alexbp@post.tele.dk> skrev i en meddelelse
> news:3e8d4749$0$24725$edfadb0f@dread14.news.tele.dk...
> [snip]
> > Jeg her rimelig forståelse for Delphi syntax'en,
> > men står dog lidt uforstående overfor en logisk
> > fejl, ved run-time, ved eksekvering af følgende kode:
> [snip]
>
> Hvilken fejl får du?
>
> --
> M.v.h.
> Olav
>
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste