[Delphi] Program neběží korektně mimo IDE
Ahojte. Mám následující program (klidně ho sem plácnu celý, je to maličká utilitka):
program runreport;
{$APPTYPE CONSOLE}
uses
SysUtils, MConnect, ComObj, ActiveX;
var RepParam:String;
var dcom1: TDCOMConnection;
procedure VypisHelp();
begin
WriteLn ('Spouští report na vzdáleném serveru.');
WriteLn('');
WriteLn('runreport [/report] [název reportu]');
WriteLn('');
WriteLn('/report název reportu: spustí report "název reportu."');
WriteLn('/?: zobrazí tuto nápovedu');
end;
procedure CheckParam();
begin
if ParamStr(2)='' then WriteLn('Parametr je prázdný!')
else try
RepParam:=ParamStr(2);
CoInitialize(nil);
dcom1:=TDCOMConnection.Create(nil);
dcom1.ComputerName:='SRV02';
dcom1.LoginPrompt:=False;
dcom1.ServerGUID:='{57131FF5-58C4-4F1C-BDEF-F45A71C369A1}';
dcom1.ServerName:='MailResServer.clMailRes';
dcom1.Connected:=True;
dcom1.AppServer.GenReport(RepParam);
CoUninitialize;
WriteLn('Odesláno na server s parametrem' + ' ' + RepParam);
except
WriteLn ('Neco se posralo');
exit;
end;
end;
begin
if ParamStr(1) = '/?' then VypisHelp()
else if ParamStr(1)= '/report' then CheckParam()
else WriteLn ('Zadán nesprávný nebo prázdný parametr.');
end.
V IDE má nastavené parametry /report PARAMETR. Mačkám-li Shift-F7 a procházím-li skrz kód, program udělá co má a Delphi proti němu naprosto neprotestují.
Leč spuštěný z komandlajny (Windows 2003 Server, je to to samé PC) tento kód mezi try..except se neprovede (jak jsem zjistil zakomentováváním):
dcom1.Connected:=True;
dcom1.AppServer.GenReport(RepParam);
Prostě to nic neudělá. A teď babo raď Doteď jsem byl zvyklý, že moje chyby najde debugger, ale v tomhle případě vážně nevím, jak dál... "Programátor" jsem jen sváteční, takže čekám nějaké rozuzlení (nejen) od místních delphi gurus, JF a Rce