Delphi in Lazarus-Projekt umwandeln

Für Fragen von Einsteigern und Programmieranfängern...
Benutzeravatar
six1
Beiträge: 788
Registriert: Do 1. Jul 2010, 19:01

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von six1 »

..vielleicht ist es auch nur ein hessisches Problem... ich komme auch aus Hessen und habe das von Anfang an nicht gemocht, wie das Debugen in Lazarus funktioniert im Vergleich zu Delphi.
Da ich aber jetzt schon so lange mit Lazarus arbeite, habe ich mich dran gewöhnt, manche Dinge in eine Variable zu schreiben...

is halt so wemmer mit Lazarus rummache dud :lol:
gehste mo en Bembel dringe un en Handkäs esse, kimmste driwwer weg...
kan jetz awwer soi, dasde aus Owwerhesse kommst und ka Word verstehe dusd
Gruß, Michael

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von wp_xyz »

theo hat geschrieben:
Do 23. Jun 2022, 14:43
stoffel_hessen hat geschrieben:
Do 23. Jun 2022, 13:31
Wenn ich mit dem LazLogger versuche zu arbeiten bekomme ich bei der Zeile
DebugLn ('SG_Ring.RowCount: ', SG_Ring.RowCount);
die Fehlermeldung
Projekt.pas(1768,62) Error: Incompatible type for arg no. 2: Got "LongInt", expected "Array Of Const"
Deswegen habe ich Writeln vorgeschlagen.
DebugLn erwartet afaik Strings. Da müsste man ein "Format" oder "IntToStr" dazwischen schalten. Finde ich unpraktisch.
Bei Writeln ist das nicht nötig.
Wie üblich gibt es auch DebugLn mit mehreren Overloads, darunter einen mit "array of const" als Argument. Das heißt, man kann beliebig viele Parameter verwenden, durch Komma getrennt, und beliebigen Types, sofern man das ganze in eckige Klammern steckt - das ist schon sehr nah an der WriteLn-Syntax...

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var
  L: TStrings;
  i: Integer;
begin
  L := TStringList.Create;
  try
    FindAllFiles(L, '.');
    for i := 0 to 10 do
      DebugLn(['i=', i, ', L[i]=', L[i]]);
  finally
    L.Free;
  end;
end; 
Hier die DebugLn-Varianten:

Code: Alles auswählen

procedure DebugLn(const s: string = ''); inline; overload;
procedure DebugLn(Args: array of const); {inline;} overload;
procedure DebugLn(const S: String; Args: array of const); {inline;} overload;// similar to Format(s,Args)
procedure DebugLn(const s1, s2: string; const s3: string = '';
                  const s4: string = ''; const s5: string = ''; const s6: string = '';
                  const s7: string = ''; const s8: string = ''; const s9: string = '';
                  const s10: string = ''; const s11: string = ''; const s12: string = '';
                  const s13: string = ''; const s14: string = ''; const s15: string = '';
                  const s16: string = ''; const s17: string = ''; const s18: string = ''); inline; overload;

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1435
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von fliegermichl »

six1 hat geschrieben:
Do 23. Jun 2022, 20:48
..vielleicht ist es auch nur ein hessisches Problem... ich komme auch aus Hessen und habe das von Anfang an nicht gemocht, wie das Debugen in Lazarus funktioniert im Vergleich zu Delphi.
Da ich aber jetzt schon so lange mit Lazarus arbeite, habe ich mich dran gewöhnt, manche Dinge in eine Variable zu schreiben...

is halt so wemmer mit Lazarus rummache dud :lol:
gehste mo en Bembel dringe un en Handkäs esse, kimmste driwwer weg...
kan jetz awwer soi, dasde aus Owwerhesse kommst und ka Word verstehe dusd
Wo der Ami nach Oberhesse kimmt und fragt nach dem "Highway". Goud un selwer? :-)

Benutzeravatar
Ally
Beiträge: 263
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: x64

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von Ally »

„Erbarme, zu spät, die Hesse komme“ [Rodgau Monotones]

Ich oute mich dann auch mal als "Einer".
Man könnte also, nach Studium dieses Threads, zu dem Schluss kommen, dass der Name des Forums nicht ganz korrekt gewählt ist.
Müsste es statt Deutsches Lazarusforum, nicht Hessisches Lazarusforum heißen?

Und was würde ein Hesse nach dem einen oder andern Bembel zu diesem Thread sagen:
<hessischer humor>
Schreibt Code der funktioniert, dann braucht ihr keinen Debugger.
</hessischer humor>

Benutzeravatar
stoffel_hessen
Beiträge: 66
Registriert: Sa 18. Jun 2022, 12:27
OS, Lazarus, FPC: Windows 11 (Version 2.2.2, FPC 3.2.2)
CPU-Target: x86 64Bit
Wohnort: Riedstadt

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von stoffel_hessen »

wp_xyz hat geschrieben:
Do 23. Jun 2022, 12:43
Sorry, ich hatte den Text vor dem Abschicken nochmals editiert, und dabei offenbar übersehen, das "NICHT" zu löschen. Richtig ist es so:
- Haken gesetzt (Default-Einstellung) --> Laufzeitfehler wegen WriteLn, kein Konsolen-Fenster
- Haken nicht gesetzt --> kein Laufzeitfehler, Konsolen-Fenster wird angezeigt.
Noch mal zum Thema zurück, wenn ich den Haken nicht setze, wird das Konsolenfenster auch bei der fertigen exe geöffnet und nicht nur in der Entwicklungsumgebung beim debuggen. Man muss also immer daran denken vor dem erstellen der exe und dem Verteilen den Haken wieder zu setzen, gibt es hier eine andere Lösung?
Gruß Christopher

Benutzeravatar
stoffel_hessen
Beiträge: 66
Registriert: Sa 18. Jun 2022, 12:27
OS, Lazarus, FPC: Windows 11 (Version 2.2.2, FPC 3.2.2)
CPU-Target: x86 64Bit
Wohnort: Riedstadt

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von stoffel_hessen »

six1 hat geschrieben:
Do 23. Jun 2022, 20:48
..vielleicht ist es auch nur ein hessisches Problem... ich komme auch aus Hessen und habe das von Anfang an nicht gemocht, wie das Debugen in Lazarus funktioniert im Vergleich zu Delphi.
Da ich aber jetzt schon so lange mit Lazarus arbeite, habe ich mich dran gewöhnt, manche Dinge in eine Variable zu schreiben...

is halt so wemmer mit Lazarus rummache dud :lol:
gehste mo en Bembel dringe un en Handkäs esse, kimmste driwwer weg...
kan jetz awwer soi, dasde aus Owwerhesse kommst und ka Word verstehe dusd
Ich bin aus dem Südhessischen Riedstadt und wir verstehen uns :lol:
Gruß Christopher

Benutzeravatar
six1
Beiträge: 788
Registriert: Do 1. Jul 2010, 19:01

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von six1 »

...und ich aus dem Südhessischen Roßdorf b. Darmstadt :lol:
Gruß, Michael

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

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von theo »

Ally hat geschrieben:
Fr 24. Jun 2022, 08:59
<hessischer humor>
Schreibt Code der funktioniert, dann braucht ihr keinen Debugger.
</hessischer humor>
Bin zwar kein Hesse, das sehe ich aber auch so.
Debugger sind für Sitzpinkler und Warmduscher! :mrgreen:

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von af0815 »

stoffel_hessen hat geschrieben:
Fr 24. Jun 2022, 09:28
Noch mal zum Thema zurück, wenn ich den Haken nicht setze, wird das Konsolenfenster auch bei der fertigen exe geöffnet und nicht nur in der Entwicklungsumgebung beim debuggen. Man muss also immer daran denken vor dem erstellen der exe und dem Verteilen den Haken wieder zu setzen, gibt es hier eine andere Lösung?
Man benutzt verschieden Build Modis, damit kann man es sehr gut steuern. https://wiki.freepascal.org/IDE_Window: ... Lazarus/de


OT: Als Österreicher verstehe ich nur Hesse und Kassler :shock: Mahlzeit
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
six1
Beiträge: 788
Registriert: Do 1. Jul 2010, 19:01

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von six1 »

Also die Einwohner von Kassel heißen in Hessisch Kasseläner und Kassler ist so ein Stück Rippenfleisch in Salzwasser eingelegt. Wird mit Sauerkraut und Kartoffelbrei gegessen *Mahlzeit*
Gruß, Michael

Benutzeravatar
stoffel_hessen
Beiträge: 66
Registriert: Sa 18. Jun 2022, 12:27
OS, Lazarus, FPC: Windows 11 (Version 2.2.2, FPC 3.2.2)
CPU-Target: x86 64Bit
Wohnort: Riedstadt

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von stoffel_hessen »

Ich habe mal noch eine Frage, ich habe ein Projekt von Delphi nach Lazarus umgezogen und kompiliert.
Das Ergebnis unter Delphi war 4,5MB groß das gleiche unter Lazarus 24,8MB, warum ist die exe unter Lazarus 5 mal so groß?
Gruß Christopher

Benutzeravatar
six1
Beiträge: 788
Registriert: Do 1. Jul 2010, 19:01

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von six1 »

Du hast wahrscheinlich in deinem Projekt nur den "default" also Debug Modus.
Um die ganzen Debug infos aus dem exe zu entfernen, legst du unter Projekt/Projekteinstellungen/Compilereinstellungen neue Compiliermodis an.
Einfach oben die drei Punkte anklicken und im Fenster dann "Create Debug and Release Modes" anklicken.
In der Ide am Symbol "Zahnrad und Schraubenschlüssel" kannst du dann Release Mode auswählen. Danach nochmal neu Kompilieren et voila...

Wenn es dann noch zu groß ist, kannst du die exe upx'en :lol:
Gruß, Michael

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

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von theo »

stoffel_hessen hat geschrieben:
Fr 24. Jun 2022, 14:35
Ich habe mal noch eine Frage, ich habe ein Projekt von Delphi nach Lazarus umgezogen und kompiliert.
Das Ergebnis unter Delphi war 4,5MB groß das gleiche unter Lazarus 24,8MB, warum ist die exe unter Lazarus 5 mal so groß?
Das ist die FAQ mit der Nummer 1.1 :wink:
https://wiki.freepascal.org/Lazarus_Faq ... o.C3.9F.3F

Benutzeravatar
stoffel_hessen
Beiträge: 66
Registriert: Sa 18. Jun 2022, 12:27
OS, Lazarus, FPC: Windows 11 (Version 2.2.2, FPC 3.2.2)
CPU-Target: x86 64Bit
Wohnort: Riedstadt

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von stoffel_hessen »

six1 hat geschrieben:
Fr 24. Jun 2022, 14:43
Du hast wahrscheinlich in deinem Projekt nur den "default" also Debug Modus.
Um die ganzen Debug infos aus dem exe zu entfernen, legst du unter Projekt/Projekteinstellungen/Compilereinstellungen neue Compiliermodis an.
Einfach oben die drei Punkte anklicken und im Fenster dann "Create Debug and Release Modes" anklicken.
In der Ide am Symbol "Zahnrad und Schraubenschlüssel" kannst du dann Release Mode auswählen. Danach nochmal neu Kompilieren et voila...

Wenn es dann noch zu groß ist, kannst du die exe upx'en :lol:
Danke :) , jetzt ist das Projekt kleiner als unter Delphi
Gruß Christopher

Benutzeravatar
stoffel_hessen
Beiträge: 66
Registriert: Sa 18. Jun 2022, 12:27
OS, Lazarus, FPC: Windows 11 (Version 2.2.2, FPC 3.2.2)
CPU-Target: x86 64Bit
Wohnort: Riedstadt

Re: Delphi in Lazarus-Projekt umwandeln

Beitrag von stoffel_hessen »

theo hat geschrieben:
Fr 24. Jun 2022, 15:02
Das ist die FAQ mit der Nummer 1.1 :wink:
https://wiki.freepascal.org/Lazarus_Faq ... o.C3.9F.3F
Danke hab hier gerade mal reingeschaut, sehr interessant, auch wenn ich noch nicht alles verstehe.
Ich habe noch keine Ahnung, wo ich z.B. die Variable
Debug-Informationen aus dem Executable zu entfernen (-Xs)
eintragen muss, aber das wird, sicher auch durch eure Unterstützung, für welche ich mich hier mal ausdrücklich bedanken möchte.
Ein tolles Forum
Gruß Christopher

Antworten