Я пытаюсь создать базу данных Firebird во время выполнения. Процедура, которую я использую для этого, такова:
procedure CreateDatabase(DBName: String);
var
IBDatabase1: TIBDatabase;
begin
IBDatabase1 := TIBDatabase.Create(Self);
try
IBDatabase1.DatabaseName := ChangeFileExt(DBName, '.fdb');
IBDatabase1.Params.Add('USER ''SYSDBA''');
IBDatabase1.Params.Add('PASSWORD ''masterkey''');
IBDatabase1.Params.Add('PAGE_SIZE 4096');
IBDatabase1.Params.Add('DEFAULT CHARACTER SET WIN1252');
IBDatabase1.CreateDatabase;
finally
IBDatabase1.Free;
end;
end;
Я добился этого без проблем в любом маленьком проекте, который я создаю для тестирования этой функции. Однако, если я попытаюсь запустить этот код на той же машине, в той же Delphi, все то же самое, за исключением того, что это другой (и довольно большой) проект, я получаю следующую ошибку в строке IBDatabase1.CreateDatabase:
First chance exception at $7579B9BC. Exception class EIBInterBaseError with message 'unavailable database'. Process xxx.exe (4144)
У кого-нибудь есть какие-нибудь подсказки об этом? Может быть, как-то правильно отладить это?
Заранее спасибо.
ИЗМЕНИТЬ
Кажется, что-то в моем файле проекта. Мне удалось создать новый, и проблема исчезла, но я боюсь быть укушенным этим в будущем. Что может быть причиной этого?