schnullerbacke hat geschrieben:Prima theo,
aber warum heißt das ding dann httpsend? Kein halbwegs normaler Mensch hätte das Ding für receive im Verdacht.
Das stimmt, der Name ist bescheuert. Aber was wäre http send ohne receive?
Das ist vom Protokoll her schon gar nicht plausibel und so würde wohl jeder
halbwegs normaler Mensch annehmen, dass es einfach für HTTP ist.
schnullerbacke hat geschrieben:
Aber sei's drum, ich stell hier mal ne tiefgründige Betrachtung über OOP und Client-Server rein. Da wird seit 20 Jahren was völlig falsch verstanden. Anders kann man sich kaum erklären, das die meisten Programmierer noch heute glauben, die OOP sei vornehmlich für die Oberflächenentwicklung zu gebrauchen.
Das ist sie definitiv nicht. Die leistet weitaus mehr, letztlich läßt sich alles als Objekt definieren, auch ein Dateisystem.
Ding für receive im Verdacht.
Ja, aber was hat das mit Synapse zu tun? Das sind genauso Klassen (OOP) wie Indy.
Nur die "convenience Funktionen" sind nach aussen hin Funktionen.
Du kannst gerne (und sollst) deine eigene Version von THTTPSend ableiten.
z.B. HttpGetText sieht intern so aus:
Code: Alles auswählen
function HttpGetText(const URL: string; const Response: TStrings): Boolean;
var
HTTP: THTTPSend;
begin
HTTP := THTTPSend.Create;
try
Result := HTTP.HTTPMethod('GET', URL);
if Result then
Response.LoadFromStream(HTTP.Document);
finally
HTTP.Free;
end;
end;
schnullerbacke hat geschrieben:
Und einem widerspricht Synapse nun wirklich deutlich, nähmlich dem Grungedanken der productivity, genau dafür sind aber RAD-Tools wie lazarus und Delphi gedacht.
Naja, ob Synapse nun als Komponenten in die IDE gehört ist eine andere Frage.
Ich persönlich halte nicht viel von nicht-visuellen Komponenten.
Das hat auch Nachteile, z.B. verschiedene Versionen oder bei der Weitergabe. Ich hasse es wenn ich tausend Komponenten installieren muss, um einen Code zu testen.