Delphi6 NMUDP-t hogyan kell paraméterezni?
Sziasztok!
Írok egy egyszerű UDP-kommunikációt megvalósító alkalmazást (azért Delphi6-ban, mert ez van meg az irodában legálisan), viszont egy ponton elakadtam. Az adatküldés működik, a fogadó félen le is fut a DataReceived esemény, viszont bajban vagyok, hogy hogyan valósítsam meg a küldött üzenet fogadását.
procedure Tfrm_Main.NMUDP_1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
var uzenet: array[1..20] of char;
begin
NMUDP_1.ReadBuffer(uzenet,20);
m_Naplo.Lines.Add(uzenet);
end;
Erre azt írja, hogy: [Error] Main.pas(46): Types of actual and formal var parameters must be identical.
A ReadBuffer deklarációja elvileg:
procedure ReadBuffer(var Buff: array of char; var length: integer);
Hálás lennék, ha valakinek sikerül rávilágítani, hogy mit is szúrok el...





Mi az m_Naplo?
Nekem inkább az a gyanús.





Szia.
A deklaráció : "procedure ReadBuffer(var Buff: array of char; var length: integer);"
Ebből nekem az jön le, hogy a második paraméternek is változónak kell lennie : "var length: integer", mivel ebben adja vissza, hogy hány karaktert sikerült neki beolvasnia (NEm biztos hogy mindig 20 lesz).
Tehát valahogy igy :
procedure Tfrm_Main.NMUDP_1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
var uzenet: array[1..20] of char;
beolvas : integer;
begin
beolvas:=20;
NMUDP_1.ReadBuffer(uzenet,beolvas);
m_Naplo.Lines.Add(uzenet);
end;
Sok sikert.
Üdv.
Ezer köszönet!!
Így már működik, valóban változót kér, ott adja vissza a kapott puffer nagyságát, csak én leragadtam a tömbnél, és nem láttam a fától az erdőt. :)
Köszönöm a segítséget!
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!