Probleme mit Delphi-Import
-
- Beiträge: 28
- Registriert: Mo 18. Sep 2006, 07:48
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Scheeßel
Probleme mit Delphi-Import
Guten Morgen,
wir sind im Moment dabei, ein größeres Projekt von Delphi zu übernehmen; Syntax ist ok.
In Lazarus hatte ich ein kleines Programm geschrieben, welches eine Logdatei schreibt, eine simple Sache also.
Es funktioniert auch super.
Dieses Programm habe ich als Unit in mein portiertes Projekt eingebunden und schon habe ich folgende Probleme:
Beim Debugging erscheint beim Durchlauf eines simplen writeln-Befehls (es wird ein String geschrieben; mit oder ohne Umlaute - das funktioniert in dem obengenannten Lazarus-Programm auch) die von mir so gehasste SIGSEGV-Meldung und als weiteres Hinweisfenster:
Adresse $0040F689
Prozedur: fpc_write_text_ansistring
Welcher Fehler kann sich bei der Portierung der Delphi-Anwendung eingeschlichen haben?
Danke für Eure Antworten.
Gruß aus Scheeßel
Bernd
wir sind im Moment dabei, ein größeres Projekt von Delphi zu übernehmen; Syntax ist ok.
In Lazarus hatte ich ein kleines Programm geschrieben, welches eine Logdatei schreibt, eine simple Sache also.
Es funktioniert auch super.
Dieses Programm habe ich als Unit in mein portiertes Projekt eingebunden und schon habe ich folgende Probleme:
Beim Debugging erscheint beim Durchlauf eines simplen writeln-Befehls (es wird ein String geschrieben; mit oder ohne Umlaute - das funktioniert in dem obengenannten Lazarus-Programm auch) die von mir so gehasste SIGSEGV-Meldung und als weiteres Hinweisfenster:
Adresse $0040F689
Prozedur: fpc_write_text_ansistring
Welcher Fehler kann sich bei der Portierung der Delphi-Anwendung eingeschlichen haben?
Danke für Eure Antworten.
Gruß aus Scheeßel
Bernd
Re: Probleme mit Delphi-Import
Wenn du unter Windows bist, dann hast du wahrscheinlich kein Kommandofenster offen.
Klick in Projekt->Compilereinstellungen->Linken-> "Win32-GUI-Anwendung" weg.
Klick in Projekt->Compilereinstellungen->Linken-> "Win32-GUI-Anwendung" weg.
-
- Beiträge: 28
- Registriert: Mo 18. Sep 2006, 07:48
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Scheeßel
Re: Probleme mit Delphi-Import
Die von Dir genannte Option war schon disabled; habe auch mal probeweise einen Haken gesetzt; leider keinerlei Änderung.
-
- 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:
Re: Probleme mit Delphi-Import
Siehst du ein Konsolenfenster wenn du deine Anwendung startest ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 28
- Registriert: Mo 18. Sep 2006, 07:48
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Scheeßel
Re: Probleme mit Delphi-Import
Nein, es ist nichts da.Christian hat geschrieben:Siehst du ein Konsolenfenster wenn du deine Anwendung startest ?
Re: Probleme mit Delphi-Import
Und wenn du den Debugger ausschaltest?
-
- Beiträge: 28
- Registriert: Mo 18. Sep 2006, 07:48
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Scheeßel
Re: Probleme mit Delphi-Import
Es öffnet sich zwar ein Fenster; ich kann dort aber keinerlei Eingaben tätigen.theo hat geschrieben:Und wenn du den Debugger ausschaltest?
Mein Chef meinte, ich soll statt mit writeln die Status-Strings per Tfilestream wegschreiben;
selbst, wenn es funzen sollte - das würde aber nicht erklären, warum es im Lazarus-Programm funktioniert und in der eingebundenen Unit nicht.
Und das verursacht mir Unbehagen.

Re: Probleme mit Delphi-Import
Ich kapier nicht worum's eigentlich geht.
Ist das ein Konsolenprogramm wo du Eingaben machen willst? Dann starte es doch von der Kommandozeile.
Lazarus eignet sich nicht besonders für das austesten von Konsolenanwendungen. Alternative: FPC-IDE (fp)
Ist das ein Konsolenprogramm wo du Eingaben machen willst? Dann starte es doch von der Kommandozeile.
Lazarus eignet sich nicht besonders für das austesten von Konsolenanwendungen. Alternative: FPC-IDE (fp)
-
- Beiträge: 28
- Registriert: Mo 18. Sep 2006, 07:48
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Scheeßel
Re: Probleme mit Delphi-Import
Bei dem Projekt handelt es sich um ein Datenbankprogramm, welches beim Aufruf überprüft, ob die Datenbank (postgres) vorhanden ist und sie bei Bedarf neu erzeugt. Alle vorgenommenen Änderungen werden in einer Logdatei c:\logfile.txt protokolliert und beim Schreiben eben dieser Logdatei gibt es die Probleme.theo hat geschrieben:Ich kapier nicht worum's eigentlich geht.
Anwendungsfenster werden erst später angezeigt; die Anwendung steigt vorher beim Schreiben dieser simplen Logdatei aus.
-
- Beiträge: 28
- Registriert: Mo 18. Sep 2006, 07:48
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Scheeßel
Re: Probleme mit Delphi-Import
als weiteren Hinweis:
Bevor das Programm auf irgendwelche Datenbankbefehle aufläuft; bereite ich lediglich einen String mit Datum, Uhrzeit und der Meldung: 'Überprüfe Postgres-Installation' auf und versuche ihn mit writeln in die Logdatei zu schreiben.
Die Logdatei ist zu diesem Zeitpunkt bereits geöffnet, Daten werden angehängt bzw. die Datei wird, sofern nicht vorhanden, erzeugt.
Bevor das Programm auf irgendwelche Datenbankbefehle aufläuft; bereite ich lediglich einen String mit Datum, Uhrzeit und der Meldung: 'Überprüfe Postgres-Installation' auf und versuche ihn mit writeln in die Logdatei zu schreiben.
Die Logdatei ist zu diesem Zeitpunkt bereits geöffnet, Daten werden angehängt bzw. die Datei wird, sofern nicht vorhanden, erzeugt.
Re: Probleme mit Delphi-Import
Achso, du willst in eine Datei "writeln". Dann sag das doch gleich, das mit der Konsole war nur in der Annahme, du wolltest auf die Konsole schreiben, was der Normalfall ist bei writeln.
Dann weiss ich es ohne den Code auch nicht.
Dann weiss ich es ohne den Code auch nicht.
-
- 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:
Re: Probleme mit Delphi-Import
Also writeln funktioniert wenn es richtig benutzt wird ohne Probleme der Weg über TFileStream ist aber moderner und sicher nicht schlechter. Für präzisere Antworten wirst du wohl den Code posten müssen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 1102
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: Probleme mit Delphi-Import
filestream ist zu dumm. Writeln ist viel kräftiger. Zb:Christian hat geschrieben:Also writeln funktioniert wenn es richtig benutzt wird ohne Probleme der Weg über TFileStream ist aber moderner und sicher nicht schlechter. Für präzisere Antworten wirst du wohl den Code posten müssen.
Code: Alles auswählen
var i : integer;
d1,d2 : double;
writeln(f,i+5:50,'bla',d1:10:4,d1:10:4);
-
- 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:
Re: Probleme mit Delphi-Import
Naja amrco, das ist n bissl kurzsichtig. Kann ich sowas mit writeln machen ?
myForm.WriteToStream(Stream);
myForm.WriteToStream(Stream);
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 1102
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: Probleme mit Delphi-Import
Da ist keine Stream Magic der das macht. Also ja, wenn du eine WriteToFile methode schreibst, wurde das funktionieren.Christian hat geschrieben:Naja amrco, das ist n bissl kurzsichtig. Kann ich sowas mit writeln machen ?
myForm.WriteToStream(Stream);
Fast alles was mit Streams kann, kann auch mit normaler IO, wen man ein file treiber (ttextrec oder tfilerec) dafür macht. Logisch natürlich, weil Streams geimplentiert sein mit normaler file I/O.
Den einzigen Unterschied ist Inheritance, also die wirkliche OO Funktionalität. Aber man kan "textrec" oder "filerec" als eine art abstracte Klasse sehen, an dem man keine neue Methoden zufügen kann.