AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Über Skype Nachrichten verschicken
Thema durchsuchen
Ansicht
Themen-Optionen

Über Skype Nachrichten verschicken

Ein Thema von storm1988 · begonnen am 1. Mai 2006 · letzter Beitrag vom 28. Aug 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#1

Über Skype Nachrichten verschicken

  Alt 1. Mai 2006, 09:01
Hallo,

ich habe mir um über Skype Nachrichten zu verschicken diese Komponente heruntergeladen LINK
Jedoch wenn ich Daten über 1024 Zeichen verschicke bekomm ich einen Read Error...

Jetzt wollte ich euch Fragen wie ich dieses Source Code verändern muss, dass ich auch längere Texte versenden kann (Mit Skype währe das ja prinzipiel möglich)

Delphi-Quellcode:
function TSkypeControl.SendData(aString : string) : boolean;
var tmpdata : CopyDataStruct;
    buffer : array[0..1023] of char;
    i : integer;
begin
  result := true;
  if (Length(aString) > 0) and (Fattached = true)
    then Begin
      for i := 1 to Length(aString) do
        buffer[i-1] := aString[i];
      buffer[Length(aString)] := Chr(0);
      tmpdata.dwData := 0;
      tmpdata.lpData := @buffer;
      tmpdata.cbData := Length(aString)+1;
      if SendMessage( SkypeAPIWindowHandle,
                      WM_COPYDATA,
                      Application.Handle,
                      LPARAM(@tmpdata)) = 0
        then result := false;
    end;
end;
Ich hätte schon versuchte das Array einfach zu vergrößern jedoch ohne erfolg

Ich bedanke mich schonmal im vorraus
Mfg st0rm

There are no stupid questions. Just stupid people.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.132 Beiträge
 
Delphi 12 Athens
 
#2

Re: Über Skype Nachrichten verschicken

  Alt 1. Mai 2006, 09:02
buffer : array[0..1023] of char; schau dir mal diese Stelle ganz genau an
geht nicht ?
hmmm


Also eigentlich liegt es in diesem Code ja nur am Buffer-Array, aber wen es nicht reicht dieses zu vergrößern,
buffer : array[0..2047] of char; oder so, dann wird wohl die SkypeAPI eine interne Größenbeschränkung haben, was wohl nicht so leicht umgangen werden kann ... es sei denn man kann irgendwie der SkypeAPI mitteilen, daß sie mit einem größerem Puffer arbeiten soll?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#3

Re: Über Skype Nachrichten verschicken

  Alt 1. Mai 2006, 09:05
Hät ich wie gesagt schonmal probiert (mit 65535), jedoch schickt er beim vergrößern dieses Arrays einfach einen leeren Text an Skype..
Mfg st0rm

There are no stupid questions. Just stupid people.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Über Skype Nachrichten verschicken

  Alt 1. Mai 2006, 09:10
Versuchs mal mit

var
...
buffer: Pointer;
...
begin
GetMem( buffer, 65536);
...
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.132 Beiträge
 
Delphi 12 Athens
 
#5

Re: Über Skype Nachrichten verschicken

  Alt 1. Mai 2006, 09:16
@mkinzler: es bringt nicht immer was, wenn man nur den Typ / die Lage des Speichers ändert ... hier liegt das Problem mal wirklich bei bei API
Außerdem würde er andere Fehler erhalten, wenn r nur den PufferTyp ändert



Selbst wenn es nicht zur Lösung beiträgt ... aber Folgendes kann man dennoch verbessern
Delphi-Quellcode:
for i := 1 to Length(aString) do
        buffer[i-1] := aString[i];
in ändernbuffer := aString;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#6

Re: Über Skype Nachrichten verschicken

  Alt 1. Mai 2006, 09:26
Weil du sagst es kann wegen der API nicht gehn..
Hab mir gerade nochmal das PlugIn für Miranda angeschaut und indem kann man so lange Nachrichten verschicken wie man will über Skype LINK
Mfg st0rm

There are no stupid questions. Just stupid people.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Über Skype Nachrichten verschicken

  Alt 1. Mai 2006, 09:32
Zitat:
@mkinzler: es bringt nicht immer was, wenn man nur den Typ / die Lage des Speichers ändert ... hier liegt das Problem mal wirklich bei bei API Wink
Außerdem würde er andere Fehler erhalten, wenn r nur den PufferTyp ändert Warning
das diese Änderungen weitere Änderungen im Source-code benötigen war nur zu faul den ganzen Code anzupassen.
Da aber storm1988 im ersten Beitrag und auch in #6 gesagt hat das es nicht an der API liegt, ist der Fehler wohl in dem Delphi-Code zu suchen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.132 Beiträge
 
Delphi 12 Athens
 
#8

Re: Über Skype Nachrichten verschicken

  Alt 1. Mai 2006, 09:39
In diesem Code ist aber nunmal kein Fehler ... jedenfalls wenn es bei 1024 funktioniert und er wirklich nur die 1023 erhöht hat, so wie er es sagt.
Demnach kann das Problem nur noch in der API liegen

Eventuell muß man halt wirklich dieser API erst sagen, daß man mit mehr als 1024 Byes arbeiten möchte
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#9

Re: Über Skype Nachrichten verschicken

  Alt 1. Mai 2006, 12:59
So,

hab jetzt herausgefunden, dass der Source schon bei ca. 100 Zeichen nimmer geht ^^
Hat jetzt irgend wer noch ne Idee wie ich das Problem löse oder einen Link zu ner anderen Komponente
Mfg st0rm

There are no stupid questions. Just stupid people.
  Mit Zitat antworten Zitat
Ratte

Registriert seit: 12. Dez 2003
Ort: Erfurt
345 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Über Skype Nachrichten verschicken

  Alt 1. Mai 2006, 14:06
Dumme frage: erlaut Sendmessage eigentlich so große Nachrichten oder gibt es eine Größenbegrenzung für Windowsnachrichten?
nur so ne Idee.

Ratte
Schiffsratte der U.S.S. Delphipraxis, Laderaum 4538
BUSH:= TTerminator.create;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz