| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
|
| Autor |
Nachricht |
JRe_LIT
Anmeldungsdatum: 14.09.2009 Beiträge: 4
|
Verfasst am: Donnerstag 17. Sep.2009 7:41 Titel: Skype |
|
|
Hallo alle zusammen,
seit kurzem arbeite ich mit Powerbuilder. Mein derzeitiges Hauptaufgabengebiet ist debuggen von bestehendem Code. Nun bin ich an ein Thema geraten, bei dem ich nicht weiterkomme und hoffe, dass sich hier einer vielleicht damit auskennt.
Und zwar soll in eine Anwendung Skype integriert werden. Der bisherige Code wirft die Fehlermeldung, dass auf die externe Eigenschaft "Currentuserstatus" nicht zugegriffen werden kann. Jedoch wird Skype gestartet, wenn die Überprüfung bringt, dass es noch nicht an ist. Somit müsste eine Verbindung aufgebaut sein.
Hat jemand eine Idee, woran das liegen kann?
Viele Grüße
Jen
| Code: | integer iResult, iresult1, iresult2
oleObject oCall, oUser, oSkype
oSkype = CREATE OLEObject
// Versuch mit COM/OLE Objekt zu verbinden
iResult = oSkype.ConnectToObject("Skype4COM.Skype","Skype_")
if iResult <> 0 then
iResult = oSkype.ConnectToNewObject("Skype4COM.Skype")
else
// DDL Registrieren
run("regsvr32 Skype4COM.dll")
Messagebox("Skype","Die Skype-Schnittstelle wird neu registriert.")
iResult1 = oSkype.ConnectToObject("Skype4COM.Skype","Skype_")
if iresult1 <> 0 then
Messagebox("Skype","Skype-Schnittstelle konnte nicht initialisiert werden!")
end if
iResult = oSkype.ConnectToNewObject("Skype4COM.Skype")
end if
if iResult = 0 then
// Declare the following Skype constants:
int cUserStatus_Offline,cUserStatus_Online, cCallStatus_Ringing, cCallStatus_Inprogress, cCallStatus_Failed, cCallStatus_Refused, cCallStatus_Cancelled, cCallStatus_Finished, cCallStatus_Busy, cAttachmentStatus_Available
cUserStatus_Offline = oSkype.Convert.TextToUserStatus("OFFLINE")
cUserStatus_Online = oSkype.Convert.TextToUserStatus("ONLINE")
cCallStatus_Ringing = oSkype.Convert.TextToCallStatus("RINGING")
cCallStatus_Inprogress = oSkype.Convert.TextToCallStatus("INPROGRESS")
cCallStatus_Failed = oSkype.Convert.TextToCallStatus("FAILED")
cCallStatus_Refused = oSkype.Convert.TextToCallStatus("REFUSED")
cCallStatus_Cancelled = oSkype.Convert.TextToCallStatus("CANCELLED")
cCallStatus_Finished = oSkype.Convert.TextToCallStatus("FINISHED")
cCallStatus_Busy = oSkype.Convert.TextToCallStatus("BUSY")
cAttachmentStatus_Available = oSkype.Convert.TextToAttachmentStatus("AVAILABLE")
CONSTANT integer MAXIMIZED = 3
CONSTANT integer MINIMIZED = 2
CONSTANT integer NORMAL = 1
CONSTANT boolean WAIT = TRUE
CONSTANT boolean NOWAIT = FALSE
// Start the Skype client:
If Not oSkype.Client.IsRunning Then
Oleobject Hresult
Hresult = oSkype.Client.Start(NORMAL,WAIT)
Messagebox("Skype","Skype wird gestartet. ~nBitte haben Sie Geduld, bis der 'ONLINE'-Status erreicht ist.",Exclamation!)
if Not oSkype.CurrentUserStatus = cUserStatus_Online then
oSkype.ChangeUserStatus(cUserStatus_Online)
end if
End If
// The PlaceCall command will fail if the user is offline. To avoid failure, check user status and change to online if necessary:
If oSkype.CurrentUserStatus = cUserStatus_Offline Then
oSkype.ChangeUserStatus(cUserStatus_Online)
End If
...
|
|
|
| Nach oben |
|
 |
Dr.Pibble

Anmeldungsdatum: 27.02.2004 Beiträge: 346 Wohnort: Mülheim a.d. Ruhr
|
Verfasst am: Mittwoch 23. Sep.2009 22:56 Titel: |
|
|
Hi Jen,
hab's mal probiert.
Es klappt wenn Skype ordentlich gestartet wurde und innerhalb der Skype Optionen der aufrufenden Anwendung der Zugriff auf Skype erlaubt wurde.
Das Ganze muss bei erstmaligen Zugriff der Anwendung auf Skype je nach TimeOut recht zügig innerhalb der Skype GUI durch den Benutzer erlaubt werden.
Ist es einmal eingestellt, so funktioniert es dann immer.
Im Grunde ist der Laufzeitfehler beim Zugriff auf den Status mit einem "access denied" zu vergleichen.
Besser wäre es, in einer Schleife mit einem Try Catch den Zugriff zu versuchen und dem Benutzer einen Hinweistext und eine Abbruch-Möglichkeit zu geben.
Benutzermeldung
"Bitte warten Sie..blah blah
und
bla blah .. Zugriff erlauben ... blah blah."
Buttons: "Erneut versuchen" "Abbrechen". _________________ Happy Coding
Dr.Pibble
http://pbminer.dwox.com/
http://pbwebeasy.org/pbwebeasy/Index.html |
|
| Nach oben |
|
 |
JRe_LIT
Anmeldungsdatum: 14.09.2009 Beiträge: 4
|
Verfasst am: Donnerstag 24. Sep.2009 8:10 Titel: |
|
|
Hallo,
SUPER! Danke für deine Hilfe, jetzt funktioniert es wie gewünscht!!!
Viele Grüße
Jen |
|
| Nach oben |
|
 |
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum nicht herunterladen
|
Powered by phpBB © 2001, 2005 phpBB Group
|