AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Buffer-Probleme mit Indy 10.0.52
Thema durchsuchen
Ansicht
Themen-Optionen

Buffer-Probleme mit Indy 10.0.52

Ein Thema von Federvieh · begonnen am 12. Okt 2006 · letzter Beitrag vom 28. Okt 2006
Antwort Antwort
Federvieh

Registriert seit: 12. Okt 2006
5 Beiträge
 
#1

Buffer-Probleme mit Indy 10.0.52

  Alt 12. Okt 2006, 04:20
Hallo,

nach dem ich nun wirklich schon lange genug gesucht habe und mich schon beinahe wund gegoole’d habe, möchte ich euch mal mit einer wahrscheinlich banalen Anfängerfrage hier ein wenig belästigen, sorry aber ich häng hier einfach fest

Ich benutze:
- Delphi 2005PE
- Indy 10.0.52 -> Installiert exakt nach dieser Anleitung: Anleitung

Im Netz habe ich folgenden, für ein Anfänger zunächst mal sehr übersichtlichen Code als Beispiel bzw. zum Einstieg zur Indy Komponente gefunden:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 IdFTP1.Host := 'ftp.xxxxxx.com';
 IdFTP1.Username := 'xxxxx';
 IdFTP1.Password := 'xxxxx';
 
 IdFTP1.OpenWriteBuffer( -1 );
 IdFTP1.TransferType := ftBinary;
 IdFTP1.Get( 'test.html', 'c:\test.html', true );
 // here 'true' means overwrite existing file
 IdFTP1.Abort; // forces the data connection to be closed.
 IdFTP1.Quit;
end;
Für mich als Anfänger zunächst mal ein genial übersichtlicher Code um in die Materie einzusteigen, wenn er denn auch funktionieren würde?
Das Problem fängt damit an, dass „OpenWriteBuffer“ schon mal als „Undefinierter Bezeichner“ von Delphi angemeckert wird. Werfe ich die Zeile allerdings einfach raus, so bleibt die Geschichte dann mit einer „Zugriffsverletzung bei Adresse bal bla“ in Unit IdFTP hängen, und zwar genau hier:

FDataChannel.IOHandler.SendBufferSize := IOHandler.SendBufferSize; Es wäre wirklich klasse wenn mir hier einer ein wenig auf die Sprünge hälfen könnte. Auf der Seite von Indy konnte ich leider keine Beispiel finden, nur tonnenweise Hilfe Files die mir Zeigen wie z.B. der Sytax zu IdFTP1.Get und Put auszusehen hat, sorry aber damit komme ich hier nicht weiter. Ich habe mir auch den Source von smallFTP angeschaut, aber daraus kann ich leider nichts ableiten

Danke schon mal im Voraus!!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Buffer-Probleme mit Indy 10.0.52

  Alt 12. Okt 2006, 07:05
Herzlich willkommen in der Delphi-PRAXiS, Federvieh.

Im Indy-Projekt haben die Entwickler immer wieder mal größere Änderungen an den Komponenten und der Architektur vorgenommen. OpenWriteBuffer() ist definitiv eine bekannte Methode von TIdFTP (Version 9). Vielleicht solltest du dir von der Homepage des Herstellers Beispiele für die von dir verwendete Version besorgen.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Federvieh

Registriert seit: 12. Okt 2006
5 Beiträge
 
#3

Re: Buffer-Probleme mit Indy 10.0.52

  Alt 13. Okt 2006, 02:15
so was dummes aber auch, ich muss aber auch mal zu meiner Verteidigung sagen das die Indy-Seite schon recht unübersichtlich gestaltet ist, wie auch immer - Danke für die Info!!!
  Mit Zitat antworten Zitat
Federvieh

Registriert seit: 12. Okt 2006
5 Beiträge
 
#4

Re: Buffer-Probleme mit Indy 10.0.52

  Alt 28. Okt 2006, 01:22
Also ich war ja guter Dinge dass ich, mit der Info von oben nun ohne fremde Hilfe weiter komme aber ich bin wohl zu doof dafür. Ich habe nun die Indy 10 Komponente schon zwei mal neu installiert inklusive Delphi 2005PE aber die Sache will einfach nicht. Ich kann mich zwar auf dem Server einlogen aber bei allen weiteren Zugriffen passiert einfach nichts, bis dann nach der ganzen Weile die Fehlermeldung - unable to build data connection: Connection timed out – erscheint. Was mache ich nur Falsch, der Code ist doch zu simpel um was falsch zu machen oder doch?
Hier der Code:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdExplicitTLSClientServerBase, IdFTP;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdFTP1: TIdFTP;
    ListBox1: TListBox;
    Button2: TButton;
    Button3: TButton;
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin


  IdFTP1.Username :=('xxx');
  IdFTP1.Password := ('xxx');
  IdFTP1.Host := ('ftp.egal.de');
  IdFTP1.Connect;

end;

procedure TForm1.BeendenClick(Sender: TObject);
begin
 IdFTP1.Quit;
end;

procedure TForm1.MachWasClick(Sender: TObject);
begin
 //IdFTP1.Get('test.bmp','c:\test.bmp', true);
 IdFTP1.List(ListBox1.Items);
end;

end.
Ich lese ja immer wieder dass das Internet geradezu zugeschissen ist mit Demos zu der Indy Komponente... seltsamem dass ich keine finden kann. Auf der offiziellen Seite von Indy gibt es leider kein Demo zur Version 10 und die die man laden kann zeigen exakt die gleichen Symptome wie der Code oben, Einlogen geht, dann friert alles ein
Woran kann das liegen?
  Mit Zitat antworten Zitat
Federvieh

Registriert seit: 12. Okt 2006
5 Beiträge
 
#5

Re: Buffer-Probleme mit Indy 10.0.52

  Alt 28. Okt 2006, 03:17
Hi, hab nun doch en Demo für Indy 10 gefunden, wie schon gesagt, die Seite ist alles andere als übersichtlich, auf einer Seite schreiben sie dass es keine Demos zu 10 gibt, auf ner anderen scheissen sie dich zu damit... kein wunder dass die nach nem neuen Webmaster suchen
Dennoch hab ich das gleiche Problem, die Kiste friert einfach ein, sobald versucht wird eine Aktion durchzuführen. Da das Demo gleich nach dem Einlogen versucht das Inhaltsverzeichnis zu laden schmiert die Kiste gleich von Beginn an ab... was weis der Geier wo hier das Problem liegt, das ist einfach nur zum Heulen. Ich könnte geradewegs senkrecht in die Luft kotzen...
  Mit Zitat antworten Zitat
Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Buffer-Probleme mit Indy 10.0.52

  Alt 28. Okt 2006, 03:54
Moin moin,
Zitat von Federvieh:
... gibt es leider kein Demo zur Version 10 ...
Wenn du auf Beispiele angewiesen bist, hättest du dir doch lieber die version 9xx installieren sollen...

Aber hier mal dein Bsp...
Delphi-Quellcode:
//...
uses IdFTPCommon;

procedure TForm1.Button1Click(Sender: TObject);
begin
   IdFTP1.Host := 'ftp.egal.de';
   IdFTP1.Username := 'xxx';
   IdFTP1.Password := 'xxx';
   IdFTP1.Connect;
   if IdFTP1.Connected then begin
      IdFTP1.List(ListBox1.Items, '', False);

      if ListBox1.Items.IndexOf('test.bmp') <> -1 then begin
         IdFTP1.TransferType := ftBinary;
         IdFTP1.Get('test.bmp', 'c:\test.bmp', true);
      end;

      IdFTP1.Disconnect;
      //IdFTP1.Quit; //deprecated;
   end;
end;
//...
Ein Hinweis: Wenn du die STRG Taste gedrückt hälst und mit der Maus auf z.B. .Quit klickst,
gelangst du zur entsprechenden Methode. Dort habe die Entwickler manchmal Kommentare stehen die einem
weiterhelfen könnten.
Peter
-= Gruss Peter =-
-= alias x000x =-
  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 02:50 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