AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke UDP vom Formular und aus der DLL...
Thema durchsuchen
Ansicht
Themen-Optionen

UDP vom Formular und aus der DLL...

Ein Thema von calibra301 · begonnen am 13. Okt 2015 · letzter Beitrag vom 14. Okt 2015
Antwort Antwort
calibra301

Registriert seit: 20. Mär 2009
95 Beiträge
 
Delphi XE8 Professional
 
#1

UDP vom Formular und aus der DLL...

  Alt 13. Okt 2015, 13:48
Hi,

stehe mal wieder wie der Ochs vorm Berge wie man so schön sagt.

Fall1: Delphi 6 Formularanwendung mit einem IDUDPClient drauf.
Gefüllt wird eine lokale Variable und dann gesendet.
Zielport im Objektinspektor eingetragen, sonst alles so gelassen wie es war.

Buffer: array[0..529] of char;
...füllen...
udp.SendBuffer(Buffer, sizeof(Buffer));

Löppt..wunnebar.

Dann soll das ganze in eine DLL, die Daten sollen von woanders kommen.

Delphi-Quellcode:
Global:
UDP: TIDUDPCLient;

Init wird aufgerufen wenn UDP=Nil

Procedure Init_UDP;
Begin
 UDP:=TIDUDPCLient.Create(nil);
 udp.Active:=true;
 udp.BufferSize:=8192;
 udp.ReceiveTimeout:= -2;
 udp.BroadcastEnabled:=false;
end;

in der Empfangsroutine wo auch die Daten vom Sender ankommen
dann :

 udp.Host:=DestIp;
 udp.Port := 6454;
 udp.BroadcastEnabled:=false;
 udp.SendBuffer(Buffer, Length);

In DestIP steht das gesendete '127.0.0.1', der Port ist richtig und die Daten sehen
auch wunnebar aus. Aber das Programm was den Kram empfängt tut nix !
Screenshots vom "OnMouseOver" des Buffers zeigen mir exakt das gleiche..

Gruss
Calli
  Mit Zitat antworten Zitat
calibra301

Registriert seit: 20. Mär 2009
95 Beiträge
 
Delphi XE8 Professional
 
#2

AW: UDP vom Formular und aus der DLL...

  Alt 14. Okt 2015, 07:03
Hi,

leider noch nicht weiter, es wird sogar noch "schlimmer"...
Bin mit der FUNKTIONIERENDEN Formularanwendung vom D6 zum XE8 umgezogen

Aufgabe wie gehabt das Array of Char per UDP zu versenden.

Versuche 1:
Da der aktuelle UDPClient ja nur TIDBytes mag eine Variable vom Typ TIDBytes erzeugt,
mit move(Origina,neu, Laenge ) kopiert und mit udp.sendbuffer('127.0.0.1',Zielport,TIDBytes) versucht zu versenden
-> Zielprogramm rührt sich nicht.

Versuch 2:
Variable Typ String erzeugt und auf Laenge gesetzt, wieder mit Move alles umkopiert.
Syntax sollte nun udp.Send(Variable) sein.
Beim Versuch mit udp.host:='127.0.0.1' anzugeben gibt's ne Zugriffsverletzung...

Stehe hier absolut aufm Schlauch...

Wie zum Geier versendet man mit XE einen Array of Char ?

Gruss
Calli
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: UDP vom Formular und aus der DLL...

  Alt 14. Okt 2015, 07:09
AnsiChar
AnsiString
Array of AnsiChar
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:25 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