AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Lazarus - Synapse - Connect funzt nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Lazarus - Synapse - Connect funzt nicht

Ein Thema von LuCSteR · begonnen am 14. Aug 2008 · letzter Beitrag vom 15. Aug 2008
Antwort Antwort
Seite 1 von 2  1 2      
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#1

Lazarus - Synapse - Connect funzt nicht

  Alt 14. Aug 2008, 16:30
Hey,

habe mich in Synapse eingearbeitet und komme an sich mit der ganzen Thematik ganz gut klar. Nur als ich heute auf mehreren wegen versucht habe eine connection herzustellen traten fehler auf.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  // Create TFTPClient
  TFTPClient := TTFTPSend.Create;
  Log.Lines.Add('TFTPClient created');

  // Set IP/Port/Username/Password
  TFTPClient.TargetHost := IPEdit.Text;
  Log.Lines.Add('TargetSystem is ' + TFTPClient.TargetHost);
  TFTPClient.TargetPort := PortEdit.Text;
  Log.Lines.Add('TargetPort is ' + TFTPClient.TargetPort);
  TFTPClient.UserName:= UserEdit.Text;
  Log.Lines.Add('UserName is ' + TFTPClient.UserName);
  TFTPClient.Password:= PassEdit.Text;
  Log.Lines.Add('Password is ' + TFTPClient.Password);

  // Try to get file
  Log.Lines.Add('Try to get "' + FilePathServerEdit.Text + '"');
  if TFTPClient.RecvFile(FilePathServerEdit.Text)
    then
      begin
        // Filetransfer successful
        Log.Lines.Add('File successfully get from TFTPServer');
        SaveDialog1.FileName := FilePathServerEdit.Text;
        if SaveDialog1.Execute
          then TFTPClient.Data.SaveToFile(SaveDialog1.FileName);
      end
    else
      begin
        // Filetransfer not successful
        Log.Lines.Add('Error while getting File from TFTPServer');
        Log.Lines.Add(IntToStr(TFTPClient.ErrorCode) + ' - ' + TFTPClient.ErrorString);
      end;

  // Free TFTPClient
  TFTPClient.Free;
  Log.Lines.Add('TFTPClient destroyed');
end;
so wie es aussieht funktioniert das connecten einfach nicht. wenn es funktionieren würde, dann würde ja der savedialog aufpoppen. passiert aber nicht.

Ich habe die Klasse TTFTPSend und die zugehörige Unit FTPTSend genutzt (Client und Server protokoll). Da ich nur Dateien suchen und dann kopieren möchte, wäre es vll. sinnvoller nur die Unit FTPSend einzubinden(Client Protkoll)?

grüße
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Lazarus - Synapse - Connect funzt nicht

  Alt 14. Aug 2008, 16:42
Zitat von LuCSteR:
so wie es aussieht funktioniert das connecten einfach nicht.
Ich vermisse in dem Code die Zeile wo der Connect wirklich ausgeführt wird.
Du weisst die ganzen Daten zu (Host, Port, User, Passwort) und versuchst dann sofort eine Datei runterzuladen.
Da fehlt doch FTPClient.Connect oder FTPClient.Connected := True !
Die genaue Syntax musst du selber rausfinden, aber da fehlt definitiv eine Anweisung.

Delphi-Quellcode:
// Deine Variable fängt mit T an!
// nach dem Borland Coding Style ist das falsch
// Membervariablen müssen mit dem Prefix "F" beginnen
TFTPClient := TTFTPSend.Create;
Andreas
  Mit Zitat antworten Zitat
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#3

Re: Lazarus - Synapse - Connect funzt nicht

  Alt 14. Aug 2008, 16:50
mmh der Coding-Style von Borland ist ja erstmal kein großes Hindernis

Hier synapse Hilfe gibts alles was man wissen kann über synapse. ich habe mich schon umgeschaut, allerdings finde ich keinen connect-befehl. es gibt ein bsp-programm, wenn man die libary runterlädt. da gibts auch kein connect-befehl. mmh. zum möuse melken
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Lazarus - Synapse - Connect funzt nicht

  Alt 14. Aug 2008, 16:55
Zitat von LuCSteR:
da gibts auch kein connect-befehl. mmh.
Login und Logout
Andreas
  Mit Zitat antworten Zitat
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#5

Re: Lazarus - Synapse - Connect funzt nicht

  Alt 14. Aug 2008, 17:00
mmmh so wie ich das sehe wird durch den constructor create vll ein connect durchgeführt? obwohl es recht seltsam wäre.
in der klasse TFTPSend (die ich nicht benutzt habe) gibt es noch function login, function logout. nur leider beider ohne paramterübergabe. geben nur nen boolschen wert zurück.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: Lazarus - Synapse - Connect funzt nicht

  Alt 14. Aug 2008, 17:07
Machst du jetzt normales FTP oder TFTP (Trivial FTP)?
Bei Trivial FTP brauchst du keinen User und kein Passwort und musst dich auch mit Login nicht anmelden.
Bei normalem FTP führt die Methode Login folgendes aus:
Connect and logon to FTP server. If you specify any FireWall, connect to firewall and throw them connect to FTP server. Login sequence depending on FWMode.
Andreas
  Mit Zitat antworten Zitat
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#7

Re: Lazarus - Synapse - Connect funzt nicht

  Alt 14. Aug 2008, 17:14
Zitat von shmia:
Login und Logout
funtioniert leider nicht diese beiden funktionen sind ja auch nich in der klasse TTFTPSend vorhanden.
da gibts nur diese hier:
constructor Create;
destructor Destroy; override;
function SendFile(const Filename: string): Boolean;
function RecvFile(const Filename: string): Boolean;
function WaitForRequest(var Req: word; var filename: string): Boolean;
procedure ReplyError(Error: word; Description: string);
function ReplyRecv: Boolean;
function ReplySend: Boolean;

Und diese klasse hängt nur noch an der TSynaClient Klasse dran, welche auch keine connect oder login functionen liefert.
Gibts es jmd, den ich wegen dieser komponente direkt anschreiben könnte?

----

Erm ich werde sicherlich auf die FTPSend Unit umsteigen. Wie du geschrieben hast, ist es sinniger damit zu arbeiten.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: Lazarus - Synapse - Connect funzt nicht

  Alt 14. Aug 2008, 17:50
Zitat von LuCSteR:
Erm ich werde sicherlich auf die FTPSend Unit umsteigen. Wie du geschrieben hast, ist es sinniger damit zu arbeiten.
Mach dich mal schlau über Trivial FTP und normales FTP.
Da gibt es grosse Unterschiede. Du hast nicht die Wahl, ob du die eine oder andere Klasse verwenden willst.
Trivial FTP -> TTFTPSend
Normales FTP -> TFTPSend
Andreas
  Mit Zitat antworten Zitat
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#9

Re: Lazarus - Synapse - Connect funzt nicht

  Alt 14. Aug 2008, 18:00
So jetzt hab ich kein Bock mehr. Wird morgen weiter gemacht.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  // Create TFTPClient
  FTPClient := TFTPSend.Create;
  Log.Lines.Add('TFTPClient created');

  // Set IP/Port/Username/Password
  FTPClient.FWHost:= IPEdit.Text;
  Log.Lines.Add('TargetSystem is ' + FTPClient.FWHost);
  FTPClient.FWPort:= PortEdit.Text;
  Log.Lines.Add('TargetPort is ' + FTPClient.FWPort);
  FTPClient.FWUsername:= UserEdit.Text;
  Log.Lines.Add('UserName is ' + FTPClient.FWUsername);
  FTPClient.FWPassword:= PassEdit.Text;
  Log.Lines.Add('Password is ' + FTPClient.FWPassword);
  FTPClient.FWMode:=1;
  
  // Connect
  if FTPClient.Login then Log.Lines.Add('Logged in!');
  
  // Delete
  if DeleteFile('/d:/test.txt') then Log.Lines.Add('Deleted!!');

  // Logout
  if FTPClient.Logout then Log.Lines.Add('Logged out!');
  
  // Free TFTPClient
  FTPClient.Free;
  Log.Lines.Add('TFTPClient destroyed');
end;
Login und demzufolge der Delete Befehl klappen immer noch nicht. Die Anwendung startet aber mehr auch nicht.
(Wenn ich nur Login bzw. Logout schreibe dann findet der compiler die function komischerweise nicht)
Ich finde auch nirgends eine Klassifizierung der FWMode - Möglichkeiten, außer das bei -1 die Login-Sequenz manuell gemacht werden kann. Blos wie das nun wieder geht, dazu gibts genauso viele Informationen wie zu FWMode. Nömlich keine

Bis morgen
  Mit Zitat antworten Zitat
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#10

Re: Lazarus - Synapse - Connect funzt nicht

  Alt 14. Aug 2008, 18:31
Das funktioniert, sicherlich auch nur weil die LoginDaten per parameter übergeben werden. Aber es funktioniert ^^

Delphi-Quellcode:
if FtpGetFile(IPEdit.Text, PortEdit.Text, '/d:/text.txt', 'd:\test.txt', UserEdit.Text, PassEdit.Text)
then Log.Lines.Add('GET FILE');
Trotzdem muss es doch möglich sein, sich einzuloggen. Ein paar prozeduren durchlaufen zu lassen und sich dann wieder vom server verabschieden oder nicht?!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:56 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