Hallo Privateer3000,
das Problem ist folgendes. Du weist der Variable Ini gleich am Anfang der try ... Blocks einen Wert zu, das ist normalerweise OK. Da es aber ein try ... Block ist, nimmt der Compiler an, dass die Anweisung schiefgehen könnte. Das ist nicht schlimm, solange kein weiterer Zugriff auf Ini stattfindet. Griefst du aber auch im finally oder except Teil des Blockes auf Ini zu, könnte es einen nicht initialisierten Wert haben. Davor versucht der Compiler zu warnen. Wenn du hier sauber arbeiten willst, schreibst du vor dem try Block:
und im finally Block dann eventuell:
wobei z.B. Ini.Free auch dann bei Nil funktioniert und die Abfrage auf <> Nil dort nicht notwendig ist.