Hi,
das Prüfen von FileStream auf nil kannst du dir vor dem Free sparen - dass macht Free selbst. Allerdings ist das auch die einzige Möglichkeit, über die Free feststellen kann, ob FileStream wirklich auf einen FileStream zeigt.
Ist deine Variable also nicht nil, versucht Free das Objekt freizugeben. Gibt es das Objekt aber gar nicht, kommt es zu einer
Exception.
Du solltest also die Variable mit nil initialisieren oder auf nil setzen, wenn beim Create ein Fehler auftritt. Außerdem kann es nicht schaden, die mögliche
Exception beim Aufruf von Free abzufangen.
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)