delphi + indy -> lazarus +synapse

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
ac
Beiträge: 19
Registriert: Mi 25. Okt 2006, 09:54

delphi + indy -> lazarus +synapse

Beitrag von ac »

Hallo,
ich hoffe hier kann mir wer helfen. Ich habe folgendes Problem:
Ich habe ein mit Delphi Borland geschriebene Programm dass mit Indy arbeitet. Das will/soll ich nun aber in Lazarus portieren und dabei die Synapse classen anstann von Indy benutzen.
Bisweilen macht der Kompiler Stress bei den uses Optionen.
Das ganze spielt sich übrigens auf nem win32 ab.

Jemand eine Idee wie ich das so umgemünzt bekomme?

paradox
Beiträge: 34
Registriert: Fr 15. Sep 2006, 14:33

Beitrag von paradox »

Hi,

ich habe das gleiche gemacht, also von Delphi + Indy nach FPC mit synapse.
nur leider versteh ich dein problem noch nicht ganz

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

nur leider versteh ich dein problem noch nicht ganz
Bestimmt weil die Fehlerbeschreibung fehlt :)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

ac
Beiträge: 19
Registriert: Mi 25. Okt 2006, 09:54

Beitrag von ac »

hey cool, dann kannst du mir bestimmt helfen!

ich habe mich bei dem portieren an folgendes HowTo gehalten:
http://wiki.lazarus.freepascal.org/Code ... n_Guide/de" onclick="window.open(this.href);return false;

nun mal ein konretes beispiel:
nehmen wir z.B. einmal meine .lpr-Datei

Code: Alles auswählen

program Project1urlflv;
 
uses
  Forms,
  urlflv in 'urlflv.pas' {MyMovie};
 
{$mode objfpc}{$H+}
 
begin
  Application.Initialize;
  Application.CreateForm(TMyMovie, MyMovie);
  Application.Run;
end.
Wenn ich da nun den compiler drüber jage kommt folgende meldung:
Project1urlflv.lpr(4,3) Fatal: Can't find unit Forms

naja nun eigentlich sollte dieser fehler nicht auftauchen.bei jedem anderen Projekt ist das auch kein problem, nur bei dem von delphi.

verstehst du was ich meine? :roll:

paradox
Beiträge: 34
Registriert: Fr 15. Sep 2006, 14:33

Beitrag von paradox »

Das ist aber mehr ein problem der Suchpfade.
Unter Projekt -> Compiliereinstellungen hast du aller Delphi die Möglichkeit diese einzustellen. $(LazarusDir)\lcl\units\$(TargetCPU)-$(TargetOS) in „Andere Unitdateien“ sollte dort Abhilfe schaffen.

Gleich eine frage von mir, du/ihr schreibt einen Server mit einem Form ?

ac
Beiträge: 19
Registriert: Mi 25. Okt 2006, 09:54

Beitrag von ac »

coll danke es geht. jetzt kann ich nurnoch rumfrickel und gucken welche synapse classen ich wo ersetzen muss.

zu deiner frage:
ganz erhlich... ich hab das programm nicht geschrieben und weiß auch nich genau wie es funktioniert. bin momentan auf der arbeit (als praktikant) und mein chef hat das auf delphi geschrieben. da ich mich ein klein wenig mit lazarus auskenne soll ich das nun portieren

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

Beitrag von theo »

ac hat geschrieben: ganz erhlich... ich hab das programm nicht geschrieben und weiß auch nich genau wie es funktioniert. bin momentan auf der arbeit (als praktikant) und mein chef hat das auf delphi geschrieben. da ich mich ein klein wenig mit lazarus auskenne soll ich das nun portieren
Autsch, da würde ich aber mehr oder weniger von vorne anfangen.
Synapse funktioniert nicht wirklich gleich wie Indy. ;-)

ac
Beiträge: 19
Registriert: Mi 25. Okt 2006, 09:54

Beitrag von ac »

Autsch, da würde ich aber mehr oder weniger von vorne anfangen.
Synapse funktioniert nicht wirklich gleich wie Indy. ;-)
Ja das is mir wohl bekannt. Daher wird das auch eine knifflige aufgabe voll freude und abenteuer. :D

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Das ist aber mehr ein problem der Suchpfade.
Unter Projekt -> Compiliereinstellungen hast du aller Delphi die Möglichkeit diese einzustellen. $(LazarusDir)\lcl\units\$(TargetCPU)-$(TargetOS) in „Andere Unitdateien“ sollte dort Abhilfe schaffen.
NEIN.
Abhilfe schafft das aber so macht man das in Delphi und nicht Lazarus.
Forms ist eine Unit der LCL.
Du hast in deinem projekt keine Abhängigkeit zur LCL.
Wenn du diese einfügst erstellt Lazarus dynamisch die Suchpfade und benutzt Sie.
Dein projekt wirst du nun mit den festen Suchpfaden nicht mehr unter Linux oder auf einem anderen Computer compilieren können.

Thats not the Lazarus Way Paradox ;)

gruss
Christian
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

ac
Beiträge: 19
Registriert: Mi 25. Okt 2006, 09:54

Beitrag von ac »

christian, und was schafft nun abhilfe?

aßerdem habe ich gerade wieder ein problem. nun finde ich wieder etwas nich, diesmal aber TButton. Habe schon auf paradx's weise versucht weitere pfade anzufügen aber ich finde den TButton trotzdem nich (wahrscheinlich habe ich nicht die richtigen pfade erwischt).

so ich geh nu nach hause.

vielen dank schonmal bis jetzt, werde morgen sicher noch eure hilfe brauchen ;)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Nochmal: Du musst dem Projekt als Abhängigkeit die LCL hinzufügen.
Projekt->Projektinspector->Hinzufügen->Neue Anhängigkeit->Package-Name=LCL->OK->Auf das x im aktiven Fenster klicken und freuen das es geht und zwar für alle Komponenten
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

ac
Beiträge: 19
Registriert: Mi 25. Okt 2006, 09:54

Beitrag von ac »

moin moin,
ja danke christian. bin halt manchmal etwas schwer von begriff.

aber mein problem mit dem TButton hat sich immernoch nicht geöst. da stehe ich ein wenig vor einem rätsel. TEdit und TMenuIten z.B. findet der Compiler. Jedoch den TButton nicht.

paradox
Beiträge: 34
Registriert: Fr 15. Sep 2006, 14:33

Beitrag von paradox »

Hallo Christian,

mhh ok war nich der Lazarus Way, sorry an ac. Aber Forms schau ich mir nicht an :D, ich kenn nur daemons und librarys.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

@ac lösch doch bitte mal das ; an deiner uses anweisung und scheib ,Buttons; an dessen stelle ;)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

ac
Beiträge: 19
Registriert: Mi 25. Okt 2006, 09:54

Beitrag von ac »

hi,

ich brauche mal wieder hilfe.

weiß jemand was ich statt einem TIdMultiPartFormDataStream aus Indy in Synapse verwenden kann. Ein Stream soll mit einer Datei und dem Inhalt aus mehreren Form-Feldern gefüllt werden und dann wenn alles drin ist gesendet.

In Synapse habe ich in httpsend HttpPostFile(const URL, FieldName, FileName: string; const Data: TStream; const ResultData: TStrings) gefunden. Wenn ich das richtig sehe wird hierbei der Inhalt eines Form-Feldes genommen und dann direkt gesendet oder irre ich bzw. kann ich damit mein Ziel errreichen?

grüsse, ac

Antworten