Thema: Delphi Indy RSH Komponente

Einzelnen Beitrag anzeigen

Benutzerbild von fachinformatiker
fachinformatiker

Registriert seit: 12. Mai 2004
Ort: Rheine
3 Beiträge
 
Delphi 7 Professional
 
#1

Indy RSH Komponente

  Alt 17. Mai 2004, 09:09
Ich habe ein Problem mit der Indy9 TidRSH Komponente. Diese soll einen Befehl auf unserem Server ausführen. Die Berechtigungen bestehen hierzu.

Nun aber zum Problem. Das Programm leuft super gut, wenn es bei mir auf der Rechner ausgeführt wird. Wenn ich nun das Programm auf dem Server starte, dann wird dort eine Exception 10049 ausgegeben. Ich kann jedoch leider keine Infos über diesen Fehler finden.

Hat jemand von euch schon mal etwas davon gehört?

Anbei die Funktion die aufgerufen wird.
Delphi-Quellcode:
function drauft_datei_erstellen(v_IUsername, v_mandant, v_belegart, v_drauftnr : string; v_GJ : integer; Sender: TObject) : boolean;
var
 v_tempstring, v_batchn_username : string;
 E : Exception;
begin
try
 v_batchn_username := copy(v_IUsername+'????????',0,8);
with form1 do
 begin
  IdRSH1.UseStdError := true;
  IdRSH1.Host := '192.168.5.100';
  IdRSH1.HostUsername := 'benutzername';
  IdRSH1.ClientUserName := 'benutzername';
  v_tempstring:='0000'+trim(v_drsauftnr);
  v_drauftnr:=copy(v_tempstring,(length(v_tempstring)-3),4);
  IdRSH1.Execute('/usr/local/skripte/unix/dateiname uebergabewert');
  if trim(IdRSH1.ErrorMessage) <> 'then
   begin
    inc(v_fehler_anzahl);
    setlength(v_fehlerprotokoll,v_fehler_anzahl);
    with v_fehlerprotokoll[v_fehler_anzahl-1] do
     begin
      fehlerart := 'Fehler';
      fehlerprocedure := 'drauft_datei_erstellen';
      mandant := v_mandant;
      belegart := v_belegart;
      anzahl_uebergabewerte := 4;
      SetLength(uebergabewerte_procedure,anzahl_uebergabewerte);
      uebergabewerte_procedure[0].variablen_name := 'v_IUsername';
      uebergabewerte_procedure[0].variablen_wert := v_IUsername;
      uebergabewerte_procedure[1].variablen_name := 'v_mandant';
      uebergabewerte_procedure[1].variablen_wert := v_mandant;
      uebergabewerte_procedure[2].variablen_name := 'v_belegart';
      uebergabewerte_procedure[2].variablen_wert := v_belegart;
      uebergabewerte_procedure[3].variablen_name := 'v_drauftnr';
      uebergabewerte_procedure[3].variablen_wert := v_drauftnr;
      fehlertext := 'Druckdatei konnte nicht erstellt werden! IdRSH1.ErrorMessage= '+form1.IdRSH1.ErrorMessage;
      fehlerdatum := v_fehler_datum;
      fehleruhrzeit := fehlerprotokoll_uhrzeit_ermitteln;
     end;
    result := false;
   end
   else
    begin
     IdRSH1.Disconnect;
     if v_GJ < 99999 then
      begin
       if druckauftrag_ist_unklar(v_drauftnr,v_mandant,v_IUsername) = false then
        begin
         DRUCKDATEI_Status_schreiben(v_GJ,v_drauftnr,c_druckdatei_erstellt,v_mandant,v_belegart)
        end
       else
        DRUCKDATEI_Status_schreiben(v_GJ,v_drauftnr,c_druckdatei_nicht_erstellt,v_mandant,v_belegart);
       inc(v_anzahl_druckdateien);
      end;
      result := true;
    end;
 end;
except
 inc(v_fehler_anzahl);
 setlength(v_fehlerprotokoll,v_fehler_anzahl);
 with v_fehlerprotokoll[v_fehler_anzahl-1] do
  begin
   fehlerart := 'Exception';
   fehlerprocedure := 'drauft_datei_erstellen';
   mandant := v_mandant;
   belegart := v_belegart;
   anzahl_uebergabewerte := 4;
   SetLength(uebergabewerte_procedure,anzahl_uebergabewerte);
   uebergabewerte_procedure[0].variablen_name := 'v_IUsername';
   uebergabewerte_procedure[0].variablen_wert := v_IUsername;
   uebergabewerte_procedure[1].variablen_name := 'v_mandant';
   uebergabewerte_procedure[1].variablen_wert := v_mandant;
   uebergabewerte_procedure[2].variablen_name := 'v_belegart';
   uebergabewerte_procedure[2].variablen_wert := v_belegart;
   uebergabewerte_procedure[3].variablen_name := 'v_drauftnr';
   uebergabewerte_procedure[3].variablen_wert := v_drauftnr;
   fehlertext := copy('ExceptionMeldung '+E.Message,0,253);
   fehlerdatum := v_fehler_datum;
   fehleruhrzeit := fehlerprotokoll_uhrzeit_ermitteln;
   result := false;
  end;
end;
end;
Wäre echt super, wenn mir jemand helfen könnte!

Gruß
Mirko
----------------------------------------------------------------------------
„Open Source. Millionen frei denkender Köpfe können sich nicht irren.“
Zitat RedHat Community
----------------------------------------------------------------------------
  Mit Zitat antworten Zitat