Cześć, mam dziwny problem.
Jest aplikacja konsolowa, która łączy się z bazą, wykonuje na niej skrypty, potem czeka na Enter i ma się zamknąć. I problem polega na tym, że czasami na niektórych komputerach podczas zamykania wyskakuje to Windowsowe okienko: "Wystąpił błąd blabla".
Oto najważniejsze fragmenty kodu:
sciezka:=extractFilePath(ParamStr(0));
if sciezka[length(sciezka)]<>'\' then sciezka:=sciezka+'\';
writeln('Poczekaj moment, tworze strukture bazy...');
//
CoInitializeEx(nil, 0);
Connection:=TADOConnection.Create(nil);
Connection.LoginPrompt:=false;
Connection.ConnectionString:=GetConnectionString;
//
ADOCommand:=TADOCommand.Create(Application);
ADOCommand.Connection:=Connection;
Connection.Connected:=true;
ADOCommand.CommandType:=cmdText;
ADOCommand.ParamCheck:=false;
//przygotowuję do tworzenia procedury
for i:=1 to pc do
begin
//
ADOCommand.CommandType:=cmdText;
ADOCommand.ParamCheck:=false;
ADOCommand.CommandText:=jakis_skrypt;
try
ADOCommand.Execute;
writeln(' - OK');
except
on e: Exception do
writeln(' - błąd: '+e.Message);
end;
end;
writeln('Kończenie...');
sl.Free;
ADOCommand.Free;
Connection.Close;
Connection.Free;
CoUninitialize;
writeln;
writeln('Wcisnij Enter...');
readln;
Nie umieściłem w tym kodzie wszystkiego, co jest faktycznie, bo są to rzeczy, które zaciemniają kod. Np. tworzenie stringList, zaczytywanie do stringList rzeczy z plików przekazanych w parametrach, odpowiednie ich obrabianie.
Generalnie chodzi o to, że po wciśnięciu klawisza Enter aplikacja się czasami wywala, tzn. pokazuje się to Windowsowe okno. Czy ktoś wie, o co tu może chodzić?