J'ai un problème sur l'allocation de pointeur sur une structure, le new n'Initialize pas les données, c'est à dire qu'il ne la rempli pas avec des Zéros
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 {* ----------------------------------------------------------------------------} function THPrimMessage.NewPatient(const Index: Integer): PHPrimStructPatient; begin New(Result); Result^.SegmentType := HPRIM_SEGMENT_TYPE[hstPatient]; Result^.SegmentNum := Index + 1; end;cela contient aussi des TDateTime et des Enumérations, mon problème c'est que ceci ne sont pas mis à Zéro, alors que le New normalement doit mettre à Zéro tous les champs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 PHPrimStructPatient = ^THPrimStructPatient; THPrimStructPatient = record SegmentType: string; // 8.1 SegmentNum: Integer; // 8.2 IDDemandeur: record ID: string; ...
Dans une application de test, cela fonctionne parfaitement
Dans l'application réelle, cela laisse trainer des valeurs !
Etrange, quelqu'un a déjà eu un problème similaire ?
Une directive de compilation ?
Partager