fphttpclient

Rund um die LCL und andere Komponenten
Antworten
Marc.Kehte
Beiträge: 3
Registriert: Di 17. Mär 2015, 07:01

fphttpclient

Beitrag von Marc.Kehte »

Hallo zusammen,

ich verwende die Komponente fphttpclient in meinem Projekt.

Unter fcl-web - fphttpclient hatte ich eine weitere Procedure eingeschrieben und Lazarus neu kompiliert.


WebDelete : TFPHTTPClient ;
WebDelete := TFPHTTPClient.Create ( NIL ) ;

Die neue Procedure WebDelete.FileDelete ist jetzt verfügbar, ist aber beim kompilieren nicht zu identifizieren.

idents no member "FileDelete" ...

Es ist eine Ableitung von FileFormPost, welche ich benötige ohne eine Datei mit Inhalt. Nur AFileName als String und AFieldName als Ident für das PHP Script.

Welchen Eintrag habe ich wo vergessen ?


Vielen Dank
Marc

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2816
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: fphttpclient

Beitrag von m.fuchs »

Marc.Kehte hat geschrieben:Unter fcl-web - fphttpclient hatte ich eine weitere Procedure eingeschrieben und Lazarus neu kompiliert.
Diese Vorgehensweise ist nicht empfehlenswert. Leite eine eigene Klasse von TFPHTTPClient ab und implementiere deine neue Prozedur darin.
Dann wird dein Problem auch verschwinden.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
theo
Beiträge: 10873
Registriert: Mo 11. Sep 2006, 19:01

Re: fphttpclient

Beitrag von theo »

Erstens: Die von dir geänderte Datei ist Teil der FCL und nicht der LCL. Lazarus kompiliert diesen Teil nicht neu, da er zum Compiler Code gehört.
Das müsste man separat machen.
Aber wie m.fuchs schon sagt, ist das in diesem Fall nicht der richtige Weg.

Zweitens ist es so, dass fphttpclient seit über 2 Jahren Delete Funktionen enthält.

Code: Alles auswählen

     // Delete URL, and Requestbody. Return response in Stream, File, TstringList or String;
     procedure Delete(const URL: string; const Response: TStream);
     procedure Delete(const URL: string; Response : TStrings);
     procedure Delete(const URL: string; const LocalFileName: String);
     function Delete(const URL: string) : String;
Ich weiss nicht, ob du das suchst, aber vielleicht löst sich dein Problem, wenn du eine neuere FPC Version installierst.

Marc.Kehte
Beiträge: 3
Registriert: Di 17. Mär 2015, 07:01

Re: fphttpclient

Beitrag von Marc.Kehte »

Vielen Dank für den richtigen Wink.

Von Klasse abgeleitet wie angegeben.

Code: Alles auswählen

 
Type
  DELHTTPClient = Class ( TFPHTTPClient )
  Private
  // Delete a file
  Procedure FileDelete ( const AURL , AFieldName , AFileName : string ; const Response : TStream ) ;
  end;    
 
//-------------------------------------------------------------------------------------------
 
Var
WebDelete : DELHTTPClient ;
Begin  
WebDelete := DELHTTPClient.Create ( NIL ) ;
WebDelete.FileDelete ( const AURL , AFieldName , AFileName : string ; const Response : TStream ) ; 
 
//-------------------------------------------------------------------------------------------
 
Procedure DELHTTPClient.FileDelete ( const AURL , AFieldName , AFileName : string ; const Response : TStream ) ;   
...wie FileFormPost nur ohne Write TFilestream, damit die Fehlermeldung nicht nervt wenn keine Datei mitgeliefert wird, sondern nur der Name.


Grüße Marc
Zuletzt geändert von Lori am Di 17. Mär 2015, 20:09, insgesamt 1-mal geändert.
Grund: Highlighter

Antworten