Entwickler-Ecke
Internet / Netzwerk - Procedur am PC per APP ausführen
xsus - Sa 15.11.14 22:34
Titel: Procedur am PC per APP ausführen
Hallo,
ich habe eine Anwendung auf dem PC mit ganz normalen Buttons , hinter denen ja nichts anderes als Prozeduren stehen. Nun hätte ich gern eine Android APP die auch einfach Buttons hat und bei klick die Prozedur des Buttons bzw den Button selbst der Windows Anwendung ausführt. Leider habe ich keine Ahnung wie ich das realisieren kann...ich habe während meiner Recherchen immer mal wieder was von Indy gelesen etc aber schlau werd ich davon nicht...
Gut wäre auch wenn ich das über den Rechnernamen ansteuern kann und nicht über die IP (also es bleibt im eigenen Netzwerk..) da sich die IP Adressen immer ändern..
Wenn wir jemand das Thema näher bringen kann oder sogar codeauszüge bereit stellt, was in den Quellcode der win Anwendung muss und was in die APP ..wäre ich total dankbar :)
xsus - Di 18.11.14 21:03
Zunächst erstmal DANKE!
Ich bin jetzt soweit, dass ich in der PC-Anwendung folgendes habe:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.FormCreate(Sender: TObject); begin tdInit; image1.Picture.LoadFromFile(ExtractFilePath(Application.Name)+'background.jpg'); idudpserver1.DefaultPort:=10025; idudpserver1.Active:=true; end;
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread; const AData: TIdBytes; ABinding: TIdSocketHandle); var rectext:string; begin RecText:=Copy(BytesToString(Adata), 0, length(Adata)); application.MessageBox(Pwidechar(rectext),'Test Broadcast'); end; |
Und in der App:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject); begin idudpclient1.BroadcastEnabled:=true; idudpclient1.Broadcast('Hallo',10025); end;
procedure TForm1.FormCreate(Sender: TObject); begin idudpclient1.Port:=10025; idudpclient1.Active:=true; end; |
Ganz verstehen tue ich alles noch nicht, aber ich bekomme schon einmal ne Meldung angezeigt.
Meine noch offenen Fragen:
1.) Ist das "idudpclient1.BroadcastEnabled:=true;" im Button richtig und wird jedes Mal mit ausgeführt oder kommt das eher in den FormCreate Teil ?
2.) Wie würde ich jetzt vorgehen, um tatsächlich eine Procedur auszuführen? Auf eine String warten, diesen vergleichen und daran zu entscheiden welche Procedur käme mir da in den Kopf, aber das ist irgendwie doof oder? Muss doch auch besser gehen..
Besten Gruß und THX
xsus
glotzer - Di 18.11.14 21:28
Statt String einen Integer nehmen, dass ist ziemlich genau das Vorgehen. Strings übers Netzwerk sind nicht schön...
Mit Little- und Big-Endian aufpassen, ich weiß jetzt grad nicht ob die Indys das schon machen, am besten mal Google/Wikipedia fragen.
jaenicke - Di 18.11.14 21:30
Wenn auch Delphi XE6 oder XE7 in Frage kommt:
Da gibt es dafür sehr bequem App-Tethering.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!