Entwickler-Ecke
Internet / Netzwerk - Dateien versenden mit Indy10
hibbert - Di 14.02.06 20:16
Titel: Dateien versenden mit Indy10
Hi,
ich habe leider noch nirgends Demos für Indy10 gefunden :evil: Naja, aber nun zu meinem Problem:
Ich habe Delphi 2005 Personal und möchte nun gerne mit Indy Dateien über das Internet verschicken. Mit Indy9 ging das so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| with IdTCPClient1 do begin fs := TFileStream.Create(filename, fmOpenRead or fmShareDenyWrite); Connect; try OpenWriteBuffer; try WriteStream(fs, true, true, 0); CloseWriteBuffer; except CancelWriteBuffer; raise; end; finally Disconnect; fs.Free; end; |
Nur leider funktioniert dieser Code mit indy10 nicht mehr.
Beliebte Meldungem vom Compiler sind:
| Der Compiler hat folgendes geschrieben: |
[Fehler] Unit1.pas(131): E2003 Undefinierter Bezeichner: 'OpenWriteBuffer'
[Fehler] Unit1.pas(133): E2003 Undefinierter Bezeichner: 'WriteStream'
[Fehler] Unit1.pas(134): E2003 Undefinierter Bezeichner: 'CloseWriteBuffer'
[Fehler] Unit1.pas(136): E2003 Undefinierter Bezeichner: 'CancelWriteBuffer' |
wie kann ich nun mit Indy10 Dateien über das Internet verschicken ?
thx hibbert
UGrohne - Di 14.02.06 20:32
Alle Prozeduren zur Datenübertragung sind nun in der Klasse IOHandler untergebracht, schau mal nach, ob es dann funktioniert. Einfach IOHandler. vor die fraglichen Prozeduren stellen.
hibbert - Di 14.02.06 20:40
UGrohne hat folgendes geschrieben: |
| Einfach IOHandler. vor die fraglichen Prozeduren stellen. |
mhh sry weiß jetzt nicht genau was du damit meinst. Hört sich einfach an, ich weiß jetzt aber nicht was du meinst :oops:
hibbert
UGrohne - Di 14.02.06 20:43
Titel: Re: Dateien versenden mit Indy10
Versuch das ;-)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| with IdTCPClient1 do begin fs := TFileStream.Create(filename, fmOpenRead or fmShareDenyWrite); Connect; try IOHandler.OpenWriteBuffer; try IOHandler.WriteStream(fs, true, true, 0); IOHandler.CloseWriteBuffer; except IOHandler.CancelWriteBuffer; raise; end; finally Disconnect; fs.Free; end; |
hibbert - Di 14.02.06 20:48
mhh leider immer noch genau der gleiche Fehler :cry:
UGrohne - Di 14.02.06 21:00
Dann probiers mal hiermit. Ich hab jetzt nur versucht das Ganze zum Kompilieren zu bringen, ich weiß nicht, ob es wirklich funktioniert. Die Prozedurnamen haben sich ein wenig geändert wie Du siehst. Außerdem gibt es WriteStream nicht mehr und die neue Methode benötigt einen TIdStreamVCL, den Du in der Unit IdStreamVCL findest. Das ist die Variable stream.
Einfach mal damit rumprobieren ;-)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| with IdTCPClient1 do begin fs := TFileStream.Create(filename, fmOpenRead or fmShareDenyWrite); stream := TIdStreamVCL.Create(fs,true); Connect; try IOHandler.WriteBufferOpen; try IOHandler.Write(stream, 0, true); IOHandler.WriteBufferClose; except IOHandler.WriteBufferCancel; raise; end; finally Disconnect; fs.Free; end; end; |
hibbert - Di 14.02.06 21:07
Jo danke lässt sich compilieren, mal sehen wie es mit dem empfangen geht :wink:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!