finalization部分不用写了。因为你在Create的时候,指定了Owner是Application,Application在结束的时候已经替你释放掉了。
如果你非要finalization部分,那么前一句改成这样:
if not Assigned(Dmmain) then DMMain :=TDMMain.Create(nil);