Thema: Delphi Delphi Jabber Client

Einzelnen Beitrag anzeigen

Ack

Registriert seit: 12. Apr 2006
Ort: Berlin
14 Beiträge
 
Delphi 7 Professional
 
#7

Re: Delphi Jabber Client

  Alt 28. Jul 2007, 18:15
Ich bekomme bei der Zuweisung des Servers eine Exception.

Habe mich eigentlich recht genau an den Quelltext meines Vorredners gehalten.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
   try
      JSession.Server := sServer;
      JSession.Username := sUser;
      JSession.Password := sPW;
      JSession.Resource := 'Delphi';
      JSession.DoConnect(false, jatAuto);
   except
      on E: Exception do
         showmessage(E.Message);
   end;
end;
Ich konnte den Fehler bis zur Unit OleServer verfolgen.
Ab hier wird es mir allerdings zu hoch und ich steige nicht
mehr durch.
Delphi-Quellcode:
function TOleServer.GetServer: IUnknown;
var
  HR: HResult;
  ErrorStr: string;
begin
  case ConnectKind of
    ckNewInstance:
      Result := CreateComObject(FServerData^.ClassId);

    ckRunningInstance:
    begin
      HR := GetActiveObject(FServerData^.ClassId, nil, Result);
      if not Succeeded(HR) then
      begin
        ErrorStr := Format(sNoRunningObject, [ClassIDToProgID(FServerData^.ClassId),
                                              GuidToString(FServerData^.ClassId)]);
        raise EOleSysError.Create(ErrorStr, HR, 0);
      end;
    end;

    ckRunningOrNew:
      if not Succeeded(GetActiveObject(FServerData^.ClassId, nil, Result)) then
        Result := CreateComObject(FServerData^.ClassId); <--- hier wirft er die Exception

    ckRemote:
      {Highly inefficient: requires at least two round trips - GetClassObject + QI}
      Result := CreateRemoteComObject(RemoteMachineName, FServerData^.ClassID);
  end;
end;
Hat jemand ein ähnliches Problem oder vielleicht sogar eine Lösung bzw. Erklärung?
Danke schön
  Mit Zitat antworten Zitat