Hallo zusammen!
Schon langsam werde ich mit den
Indy 10 und D2010 wahnsinnig!
(ein anderes Problem war der Telnetclient - der nun durch den von ICS ersetzt wurde und somit auch geht!)
Ich will per TIdTrivialFTP ein 16MB verschicken.
Ich kann verbinden und der TFTP Server erkennt auch das ich ihm eine 'boot.bin' schicken will:
Delphi-Quellcode:
IdTrivialFTP1.Active := True;
IdTrivialFTP1.Connect;
IdTrivialFTP1.Put(PathNewFirmware, 'boot.bin');
IdTrivialFTP1.Disconnect;
IdTrivialFTP1.Active := False;
Port und Host passen natürlich.
Jedoch haut es
Indy in der Put Procedure auf:
Delphi-Quellcode:
if BlockCtr > PrevBlockCtr then
begin
DataLen := Min(BufferSize - hdrsize, SourceStream.Size - SourceStream.Position);
SetLength(CurrentDataBlk, DataLen + hdrsize);
CurrentDataBlk := WordToStr(GStack.HostToNetwork(Word(TFTP_DATA))) + WordToStr(GStack.HostToNetwork(BlockCtr));
SetLength(CurrentDataBlk, DataLen + hdrsize);
// SourceStream.ReadBuffer(CurrentDataBlk[hdrsize+1], DataLen);
DoWork(wmWrite, DataLen);
TerminateTransfer := DataLen < BufferSize - hdrsize;
PrevBlockCtr := BlockCtr;
end;
Jedoch habe ich die IdTrivialFTP.pas nun schon mit Rev 1.6 überschrieben.
Vorher war es die Rev 1.7. Wie bekomme ich die wieder?
JVC und JVCL neu installieren hat nicht geholfen, muss ich da D2010 neu installieren?
D2010, Win7 x64 - vielleicht liegt auch da das Problem?
Call stack:
Zitat:
:7586b727 KERNELBASE.RaiseException + 0x58
IdTrivialFTP.TIdTrivialFTP.Put($1F5BE80,???)
IdTrivialFTP.TIdTrivialFTP.Put(???,'boot.bin')
uMain.TfrmMain.StartTFTPTimer($1F9C230)
:0047105e TTimer.Timer + $12
:00445a4a StdWndProc + $16
:74ac6238 ; C:\Windows\syswow64\USER32.dll
:74ac68ea ; C:\Windows\syswow64\USER32.dll
:74ac7d31 ; C:\Windows\syswow64\USER32.dll
:74ac7dfa USER32.DispatchMessageW + 0xf