-
Forum: Netzwerke
Delphi
by cRayZo,
11. Okt 2007
"Ist schön das du davon nur 3 Zeichen abschneidest und den Rest wegwirfst. Wozu sendest du überhaupt soviel?
Ich sende nicht mehr, als ich brauche! die ersten drei ziffern werden nur zum überprüfen benutzt. halt mich bitte nicht für allzu dumm, bloß weil ich mich mit server/Client nicht so gut auskenne... Jeder Befehl, jede nachricht, die ausgetauscht wird, hat ein Präfix oder ist dur die...
-
Forum: Netzwerke
Delphi
by cRayZo,
11. Okt 2007
aaaalso, hier der komplette text:
Server
procedure TForm1.Button1Click(Sender: TObject);
begin
globvarmess:=1;
{1} QueryMemo.Lines.Add(DateTimeToStr(Now)+ ' Uhr:out--> //networkscan');
{2} QueryMemo.SelStart :=lengthqueryvar; // Startposition der Markierung
{3} QueryMemo.SelLength := 24 ; // Ende der Markierung
-
Forum: Netzwerke
Delphi
by cRayZo,
11. Okt 2007
okay thx
wenn ich eure/deine Nerven noch nicht zu krass strapaziert hab, hätt ich vll noch eine kleine Bitte:
Ich hab jetzt die funktionen von Server und Client vertauscht, dann ein paar sachen (aufgrund vom Vertauschen) geändert, und jetzt läuft das nach dem zufallsprinzip... :o
mal zeigt er mir ein stark verzerrtes Bild, oder er zeigt mir garnichts, oder es kommt eine Fehlermeldung....
-
Forum: Netzwerke
Delphi
by cRayZo,
11. Okt 2007
sorry, mein Fehler, bin selber drauf gekommen. Beim Server hab ich etwas mit reinkopiert, was schon drinstand. Ich hab die Länge zweimal gesendet, somit war im ankommenden stream nach der rausgefilterten Größe noch immer die Größe am Anfang, welche der stream natürlich nicht ins Bild laden konnte. Es klappt jetzt, nochmal VIELEN DANK!! :mrgreen:
PS: vll nurnoch eine kleine Frage: wie kann man...
-
Forum: Netzwerke
Delphi
by cRayZo,
11. Okt 2007
Fehler der Klasse EInvalidGraphic
Meldung: Bitmap ist ungültig´
//edit: hab auch nochmal gesucht, aber sowas hilft mir da auch jetzt nicht wirklich.
-
Forum: Netzwerke
Delphi
by cRayZo,
11. Okt 2007
natürlich, ansonsten würde ja schon vor dem Start ein Fehler kommen und das Prog. würde erst gar nicht starten.
-
Forum: Netzwerke
Delphi
by cRayZo,
10. Okt 2007
okay also ich hab den access violation-Fehler mal weiter verfolgt.
er tritt nicht auf, wenn ich das Bitmap im Client nicht vom Stream lade sprich wenn ich folgendes aus dem Code herausnehme: // Image einlesen
Image1.Picture.Bitmap.LoadFromStream(FStream);also hat der scheinbar ein Problem mit dem laden des Streams würd ich mal sagen, aber was, weiß ich jetzt nicht, habt ihr da...
-
Forum: Netzwerke
Delphi
by cRayZo,
10. Okt 2007
okay, das klappt schonmal ;) thx
beim sendeversuch kommt allerdings noch (nach 4 sekunden warten, nach dem buttonklick) ein access violation im Clientprojekt und dieses CPU Fenster öffnet sich. hat da jemand eine idee??:(
//edit: die klammer hattest du bei Socket.ReceiveBuf(fStreamDataSize, SizeOf(fStreamDataSize)); vergessen, als ich den text kopiert hatte. Jetzt ist sie ja da, gut^^
-
Forum: Netzwerke
Delphi
by cRayZo,
10. Okt 2007
achso, kein Problem, ja vielen Dank auf jeden fall!!!
einmal nur ne klammer vergessen(is ja np ;) )
mein delphi gibt den Ausdruck 'min' nur als nicht definiert zurück.iLen := Min(fStreamDataSize, iLen);das versteh ich aber nicht, ist doch eine Funktion
-
Forum: Netzwerke
Delphi
by cRayZo,
10. Okt 2007
jo ist gebongt und jetzt?.. :?:
-
Forum: Netzwerke
Delphi
by cRayZo,
10. Okt 2007
okay, wieder scheiterts am Vokabular
ich hab mir versucht irgendwie trotzdem zu helfen :lol:
(trau mich ja fast ned das zu posten :? )
hier für den empfänger (Client)begin
iLen := Socket.ReceiveLength;
GetMem(Bfr, iLen);
try
Socket.ReceiveBuf(Bfr^, iLen);
FStream.Write(Bfr^, iLen);
-
Forum: Netzwerke
Delphi
by cRayZo,
8. Okt 2007
okayvar size:integer;
(...etc)
bitmap.SaveToStream(Stream);
size:=stream.Size;
(senden...etc) wenn ich die Länge vorher aber in einem Sendtext übertrage, gehts ja nicht, weil
soll ich die länge des streams also in den stream selbst, an den Anfang setzen oder wie. Stell ich mir schwer umsetzbar vor
-
Forum: Netzwerke
Delphi
by cRayZo,
8. Okt 2007
also kann ich im server, wenn ich das Bild komplett geladen habe (sprich nach dem screenshot) einen sizeof machen? das müsste doch noch gehen oder?
was anderes könnte ich mir nicht vorstellen, bzw wüsste es nciht besser
-
Forum: Netzwerke
Delphi
by cRayZo,
8. Okt 2007
der sender (hier der server) könnte, nachdem er alle Daten gesendet hat, eine msg schicken, dass er fertig gesendet hat.
und wenn du mich jetzt nicht vollständig durcheinandergebracht hast, sollte das dann so aussehen?procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
iLen: Integer;
Bfr: Pointer;
Stream : TFileStream;
begin
iLen :=...
-
Forum: Netzwerke
Delphi
by cRayZo,
7. Okt 2007
ja okay hab ich vergessen zu ändern. Liegt aber auch vielleicht daran, dass ich nicht weiß, wie ich es besser machen soll.
Receivestream gibt es nicht beim Clientsocket, für receive gibt es nur den buf!
Ich weiß jetzt dass es falsch ist, aber wie es richtig gehen soll, weiß ich auch nicht..
ich arbeite noch nciht so lange mit Delphi also bitte erwartet nicht zuviel
Ich versuch ja alles zu...
-
Forum: Netzwerke
Delphi
by cRayZo,
7. Okt 2007
hupsa^^ aber das semikolon bitte auch nicht ;-)
jo okay...jetzt hab ich zwei fehlermeldungen.
der CLient kann den stream nicht in den Pfad speichern und schon wieder eine Zugriffverletzung.procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
Stream : TFileStream;
begin
Stream := TFileStream.Create('c:\teststream.bmp', fmCreate or fmShareDenyWrite);...
-
Forum: Netzwerke
Delphi
by cRayZo,
7. Okt 2007
also ich habs jetzt eingefügt und er startet auch ohne Probleme und connected auch ohne Probleme. Wenn ich beim Server per button einen screenshot machen will und ihn zu schicken, dann kommt dieser Fehler:
ich hab den Fehler abgefangen. Er meckert dreimal im Code
Server:
procedure TForm1.Button1Click(Sender: TObject);
var
Stream : TMemoryStream;
bitmap:Tbitmap;
-
Forum: Netzwerke
Delphi
by cRayZo,
6. Okt 2007
okay.. also das mit dem "außerhalb von Onread" erstellen müsste dann so gehen oder wie?
FStream := TFileStream.Create('c:\temp\test.stream.bmp', fmCreate or fmShareDenyWrite);
end;
und im On read soll dann das stehen?
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
-
Forum: Netzwerke
Delphi
by cRayZo,
6. Okt 2007
okay...^^
also erstmal echtn riesen Dank, dass du dir so viel Mühe gibst, mir das zu erklären! :cheers:
(bestimmt nicht leicht xD) Ich versteh auch fast alles.
Erstmal zum Server: stimmt das jetzt so (hoff mal schon, denk aber eher nicht^^)
procedure TForm1.Button1Click(Sender: TObject);
var
Stream : TMemoryStream;
bitmap:Tbitmap;
-
Forum: Netzwerke
Delphi
by cRayZo,
6. Okt 2007
also dann sowas in der art oder wie?
(hier jetzt einfach mal am beispiel von einem Screenshot, den muss man nicht aus ner datei laden)
Client
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
Stream : TMemoryStream;
begin
Stream := TMemoryStream.Create;
-
Forum: Netzwerke
Delphi
by cRayZo,
6. Okt 2007
also hier meine "produktion" hüstel
ich hab mit type gearbeitet, ich weiß dass man das eig. nicht macht, aber ich hab iwie alles schon ausprobiert, und dann eben auch das.. naja
Client onklick
type
testrecord=record
var
screen:TBitmap;
begin
-
Forum: Netzwerke
Delphi
by cRayZo,
6. Okt 2007
(kurz vornweg, ja gesucht hab ich schon!)
Hi, wie kann ich eine beliebige Datei zwischen client und Server hin und herschicken?
Ich habe mir schon lange gedanken gemacht, aber ich komm einfach nciht auf die Lösung. Die suche hat mir auch nicht viel gebracht, da vieles mit indy erklärt wird. Soweit ich das aber verstanden habe, is das erst ab Delphi 7 verfügbar.. könnt ihr mir weiterhelfen?...