AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem beim Senden mit SendBuf (TFont, TColor)

Problem beim Senden mit SendBuf (TFont, TColor)

Ein Thema von faeX · begonnen am 31. Mai 2008 · letzter Beitrag vom 1. Jun 2008
Antwort Antwort
Seite 1 von 3  1 23   
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#1

Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 17:28
Delphi-Quellcode:

TBefehl = record
  TagFont : TFont;
  TagString : String;
  TagColor : TColor;
  TagInteger : Integer
end;
Delphi-Quellcode:
procedure senden;
var
  Befehl : TBefehl;
begin
  Befehl.TagFont := Form1.font;
  Befehl.TagString := '';
  Befehl.TagColor := clBlack;
  Befehl.TagInteger := 0;
  Form1.Client.Socket.SendBuf(Befehl,sizeOf(Befehl));
end;
Dann kommt eine Fehlermeldung.
Wie kann ich dieses Problem lösen?
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 17:30
Welche Fehlermeldung kommt und wo tritt sie auf (Beim Senden oder vorher)?
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#3

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 17:30
Delphi-Quellcode:
type
TBefehl = record
  TagFont : TFont;
  TagString : String;
  TagColor : TColor;
  TagInteger : Integer
end;
Das ist der richtige Quellcode.
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#4

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 17:31
Beim Senden.
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#5

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 17:31
Fehler beim Schreiben von Addresse 0000004 oder so ähnlich...
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#6

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 17:35
Mist, schon wieder ein Fehler... Der String ist auf 255 Zeiten begrenzt.

TagString : String[255];
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 17:41
Hi,

hinter TFont und string verbergen sich eigentlich Zeiger. Legst du sie in einem Record ab und verschiffst sie, dann geht die Bedeutung dieser Zeiger verloren. Im schlimmsten Fall kommt es zu den von dir beobachteten Fehlern.

Grüße vom marabu
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#8

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 17:43
Wie kann ich dieses Problem den umgehen? Und was sind Zeiger? (Cursor sind wohl kaum gemeint)
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
Benutzerbild von MSSSSM
MSSSSM

Registriert seit: 18. Apr 2008
223 Beiträge
 
Delphi 7 Professional
 
#9

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 17:49
zeiger sind sowas wie ein integer wert, der anzeigt wo im speicher z.b. der string liegt.


zum anderen...

  TColor = -$7FFFFFFF-1..$7FFFFFFF;
heisst, tColor=integerwert (?)

mfg


edit:
mit TColor(Wert) kannst du sie wieder zum TColor machen

und andersrum... TypeCast?
Marius
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 17:52
Zeiger heißen auch Pointer. TFont ist eine Klasse und string ist ein spezieller Delphi Datentyp. Es sind diese beiden Eigenschaften, die eine direkte Übertragung zu einem Empfänger unmöglich machen.

Um einen unbegrenzt langen string zu übertragen, benötigst du ein Protokoll - z.B. kannst du zuerst die Anzahl der Zeichen avisieren und anschließend die Zeichen des Strings übermitteln. Das funktioniert mit kurzen und langen Strings gleichermaßen gut.

Beim Font solltest du besser den Namen und die Schriftgröße verschicken, das sind Zeichen und Zahlen, da gibt es kaum Probleme.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:09 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