Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno [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 ;-)

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny