Ich habe hier ja kürzlich gelernt, dass man statt FillChar Default nutzen sollte, weils sicherer (zumindest was managed types angeht) ist.
sh := Default(TSHFileOpStruct);
Eigentlich richtig und ein sehr guter Tipp. Aber managed Types (Strings z.B.) haben wir hier nicht.