Unit Crt und Windows
-
- Beiträge: 6956
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Unit Crt und Windows
Ist das nur bei mir so, oder funktioniert die Unit Crt nicht mehr richtig mit Windows ?
Unter Win10 in der VB,, wen ich ein Programm welches die Unit Crt verwende starte, Wird das Programm sofort ohne Fehlermeldung beendet, nicht mal das Writeln funktioniert. Dabei spiele es keine Rolle, ob es einen Hacken bei "Win32-GUI-Anwendung(-WG)" hat.
Mit Wine sieht es ein wenig anders aus. Mit Haken bei Win32GUI,, verhält es sich wie in der VB.
Entferne ich den Hacken, scheint es zu funktionieren, ausser, das ESC nicht #27 ausgibt, sondern es kommt der Code #0#1, so wie bei Funktionstasten.
Dabei spielt es keine Rolle, ob ich mit FPC stable oder trunk kompiliere.
Kann das einer von euch nachvollziehen, das es mit Win64 nicht geht ?
Was ich gerade noch probiert habe, ich habe auf Win32/i386 umgestellt, da wird nicht mal die Unit Crt gefunden.Ein Writeln ohne Crt hat eine Ausgabe.
Unter Win10 in der VB,, wen ich ein Programm welches die Unit Crt verwende starte, Wird das Programm sofort ohne Fehlermeldung beendet, nicht mal das Writeln funktioniert. Dabei spiele es keine Rolle, ob es einen Hacken bei "Win32-GUI-Anwendung(-WG)" hat.
Mit Wine sieht es ein wenig anders aus. Mit Haken bei Win32GUI,, verhält es sich wie in der VB.
Entferne ich den Hacken, scheint es zu funktionieren, ausser, das ESC nicht #27 ausgibt, sondern es kommt der Code #0#1, so wie bei Funktionstasten.
Dabei spielt es keine Rolle, ob ich mit FPC stable oder trunk kompiliere.
Kann das einer von euch nachvollziehen, das es mit Win64 nicht geht ?
Was ich gerade noch probiert habe, ich habe auf Win32/i386 umgestellt, da wird nicht mal die Unit Crt gefunden.Ein Writeln ohne Crt hat eine Ausgabe.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 2142
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Unit Crt und Windows
Ist das nur wenn du das Projekt mit Lazarus kompilierst oder auch wenn du einfach eine simple .pas Datei mit fpc direkt kompilierst?
CrtTest.pas
und dann ganz einfach kompilieren
CrtTest.pas
Code: Alles auswählen
program Test;
{$Mode ObjFpc}{$H+}
uses crt;
begin
WriteLn('Test');
ReadLn;
end.
Code: Alles auswählen
fpc.exe CrtTest.pas
.\CrtTest.exe
-
- Beiträge: 6956
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Unit Crt und Windows
Ich habe es mit Lazarus und Cross-Compiler gemacht.Ist das nur wenn du das Projekt mit Lazarus kompilierst oder auch wenn du einfach eine simple .pas Datei mit fpc direkt kompilierst?
CrtTest.pas
Ab Konsole geht bei mir nicht, das ich kein Lazarus in der VB installiert habe.
Aber ich denke, hier im Forum hat sicher einer ein FPC auf echtem Windows am laufen.
Hier noch mein Testcode:
Code: Alles auswählen
uses
crt;
var
quit: boolean = False;
ch: ansichar;
begin
TextAttr := $0A;
WriteLn('drücke eine Taste');
repeat
if KeyPressed then begin
ch := ReadKey;
WriteLn('Taste: ', byte(ch));
case ch of
#27, 'q': begin
quit := True;
end;
end;
end;
until quit;
end.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 761
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
Re: Unit Crt und Windows
Guten Morgen,
bei mir funktioniert das Programm:
Neues Projekt, dann "Einfaches Programm" gewählt und den Code eingefügt.
läuft auf Windows 11 64 Bit
Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 x86_64-win64-win32/win64
bei mir funktioniert das Programm:
Neues Projekt, dann "Einfaches Programm" gewählt und den Code eingefügt.
läuft auf Windows 11 64 Bit
Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 x86_64-win64-win32/win64
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
-
- Beiträge: 6956
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Unit Crt und Windows
Da muss bei mir was kaputt sein. Bei Wine könnte ich es noch begreifen, aber das es in der VB mit Win10 nicht geht.bei mir funktioniert das Programm:

Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 761
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
Re: Unit Crt und Windows
Da ich grad in der alten Firma bin,
habe ich es auf einem Win10 System auch nochmal probiert.
Auch hier läuft es einwandfrei...
Lazarus 2.0.0 r60307 FPC 3.0.4 x86_64-win64-win32/win64
habe ich es auf einem Win10 System auch nochmal probiert.
Auch hier läuft es einwandfrei...
Lazarus 2.0.0 r60307 FPC 3.0.4 x86_64-win64-win32/win64
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Re: Unit Crt und Windows
Habe Win10 als Haupt-Betriebssystem und habe das Testprogramm mit FPC 32/64 bit compiliert.
Außer dem Umlaut bei "drücke" lauft alles gut.
In einer VB Win10 auch, allerdings nur die EXE, compiliert habe ich da nicht, kann aber nachholen.
Ich hatte vermutet, dein {$Mode ObjFpc}{$H+} ist das Problem - aber nein Vermutung widerlegt.
Mach mal ein writeln VOR den textattr setzen, vielleicht mag deine Win10 Installation das nicht, oft macht VB Umleitungen/Abfangen zB auch von Sondertasten, sollte hier aber eher nicht zum Tragen kommen.
Wegen bestimmter Probleme mit CRT habe ich mir für das getkey übrigens eine eigene Unit geschrieben - wenn du da Interesse hast
Außer dem Umlaut bei "drücke" lauft alles gut.
In einer VB Win10 auch, allerdings nur die EXE, compiliert habe ich da nicht, kann aber nachholen.
Ich hatte vermutet, dein {$Mode ObjFpc}{$H+} ist das Problem - aber nein Vermutung widerlegt.
Mach mal ein writeln VOR den textattr setzen, vielleicht mag deine Win10 Installation das nicht, oft macht VB Umleitungen/Abfangen zB auch von Sondertasten, sollte hier aber eher nicht zum Tragen kommen.
Wegen bestimmter Probleme mit CRT habe ich mir für das getkey übrigens eine eigene Unit geschrieben - wenn du da Interesse hast