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;
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;        
      ...
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

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 ?