So richtig gut wurde aber nicht von Torry abgeschrieben.
Am Anfang die 255 Zeichen waren da noch nicht drin.
Das Create gehört gefälligst vor das Try und das erste
Temp :=
ist auch nutzlos.
Da hat wohl jemand nicht auf das gehört, das der Compiler einem zu sagen hat.
----------------
Ursache:
http://www.delphipraxis.net/180255-w...n-problem.html
Code für
Indy 10 und
Unicode-Delphis:
Delphi-Quellcode:
procedure WakeOnLAN(MacAddr: string; Port: TIdPort=80; Host: string='255.255.255.255');
var
MacAddr: string;
Data: TIdBytes;
Temp: array[0..5] of Byte;
i: Integer;
begin
MacAddr := StringReplace(MacAddr, '-', '', [rfReplaceAll]);
Assert(Length(MacAddr) = 6 * 2);
SetLength(Data, (1 + 16) * 6);
FillChar(Temp, 6, $FF);
Move(Temp, Data[0], 6); // 6x FF (1x FFFFFFFFFFFF)
HexToBin(PChar(MacAddr), Temp, 6);
for i := 1 to 16 do
Move(Temp, Data[i * 6], 6); // 16x Target-MAC-Adress
IdUDPClient1.SendBuffer(MacAddr, Port, Data);
end;
(ich hoffe mal der funktioniert auch, da blind dahingetippt und ungetestet)