Ik ben bezig om in c++ een eigen mail programma te maken. Nu wil ik telkens als er een nieuw mailtje opgehaald wordt die in een linklist zetten. Volgens mij heb ik alles goed staan zo(heb wel meerdere gemaakt)
Toch krijg ik als ik iets uit de list wil halen een Action Violation. Wat kan dit wezen. Dit is mijn Class
Dit is de uitwerking ervan (nog niet helemaal af)
Ik zet het er zo in (gebeurt in ene while van nieuwe mails vandaar die setNext()
en ik probeer het zo uit te lezen
Toch krijg ik als ik iets uit de list wil halen een Action Violation. Wat kan dit wezen. Dit is mijn Class
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| class listelem{
public:
String Subject;
String Sender;
TStringList * Body;
listelem *next;
};
class list {
public:
list():h(0){}
~list(){ release();}
void prepend(String subject, String sender,TStringList* body);
void del();
void setNext(){h = h->next;}
String getSubject();
String getSender();
TStringList * getBody();
listelem *first() const { return (h); }
void print() const;
void release();
private:
listelem *h;
}; |
Dit is de uitwerking ervan (nog niet helemaal af)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| void list::prepend(String subject, String sender,TStringList* body){
listelem *temp = new listelem;
temp -> next = h;
temp -> Subject = subject;
temp -> Subject = sender;
temp -> Body = body;
h = temp;
}
void list::del(){
listelem * temp = h;
h = h->next;
delete temp;
}
String list::getSubject(){
listelem * temp = h;
return temp->Subject;
}
String list::getSender(){
listelem * temp = h;
return temp->Sender;
}
TStringList * list::getBody(){
listelem * temp = h;
return temp->Body;
}
void list::release(){
while (h != 0)
del();
} |
Ik zet het er zo in (gebeurt in ene while van nieuwe mails vandaar die setNext()
code:
1
2
| w.prepend(POP->MailMessage->Subject,POP->MailMessage->From,POP->MailMessage->Body);
w.setNext(); |
en ik probeer het zo uit te lezen
code:
1
| frmToon->mMail->Lines->Add("From: " + w.getSender()); |