[gelöst] pas2js installation

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 594
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: [gelöst] pas2js installation

Beitrag von Niesi »

Mathias hat geschrieben: Do 28. Dez 2023, 13:42
Ist das der Grund, warum ich es nicht zum Laufen bringe? :shock:
Lazarus Trunc normal mit fpcupdeluxe installieren.
Anschliessend in fpcupdeluxe Modules -> pas2js-rtl -> install module.
fpcupdeluxe beenden, Lazarus starten.
Datei -> neu... -> Projekt -> Web-Browser Application -> OK

Im Editor folgendes Programm reinschreiben und schon ist das erste HellWorld da.

Code: Alles auswählen

program hello;

uses browserconsole;

begin
  Writeln('Hello, world!');
end.   
[F9]

Mit der stable wird es auch gehen, aber da sind die Vorlagen anders.
Mit der Trunc ging es auf Anhieb, habe es gerade probiert.

Im Anhang noch ein kleines WebGL-Demo,
Hallo Mathias,
ich habe alles so gemacht wie von Dir beschrieben, nicht mehr und nicht weniger.
Das Ding compiliert, nach dem Doppelklick auf die HTML öffnet FireFox ein Tab, aber es bleibt leer.

Die trunk ist jetzt Lazarus 3.99 mit FPC 3.3.1 ...
wennerer hat geschrieben: Do 28. Dez 2023, 20:42 Hi,
läuft mit beiden.

Meine Stable: Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-gtk2
Meine Trunc: Lazarus 3.99 (rev 343079e4f3) FPC 3.3.1 x86_64-linux-gtk2

In der Stable aber nur ohne debugger (also nicht mit F9 sodern mit Umsch+Strg+F9). In der Trunc ist als debugger Dwarf2 with sets (-gw-godwarfsets) ausgewählt,
in der Stable gibt es nur Dwarf with sets (-gw-godwarfsets).
Und bei Kompilieren und Linken brauch ich diese Einstellungen:
pas2js.png

Viele Grüße
Bernd
Hallo Bernd,
auch das habe ich geprüft, ist bei mir genauso.

Jedenfalls Danke Euch beiden, ich werde dann mal weitersuchen ...
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Mathias
Beiträge: 6953
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: [gelöst] pas2js installation

Beitrag von Mathias »

Das Ding compiliert, nach dem Doppelklick auf die HTML öffnet FireFox ein Tab, aber es bleibt leer.
Dann muss es wohl noch etwas ausserhalb von Lazarus sein.
Wen ich F9 drücke, geht bei mir automatisch Chrome auf, wen nicht schon offen und es erscheint das HelloWorld.

Was für ein OS verwendest du ?
Evtl. hat es mit localhost oder was ähnlichem zu tun.
öffnet FireFox ein Tab, aber es bleibt leer.
Versuche die HTML mal in einem anderen Browser.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wennerer
Beiträge: 609
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: [gelöst] pas2js installation

Beitrag von wennerer »

Wenn du möchtest kannst mal meine Einstellungen (aus der Stable) laden. Ich hänge sie unten an. Dann kannst du das schon mal ausschließen.

Viele Grüße
Bernd
Dateianhänge
PAS2JS.xml
(979 Bytes) 120-mal heruntergeladen

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

Re: [gelöst] pas2js installation

Beitrag von fliegermichl »

Guten Morgen,

ich hab mit fpcupdeluxe das Package pas2js-rtl installiert. Dann kann ich das WebGL_Test_3 Projekt von Mathias öffnen und compilieren. Wenn ich es aus Lazarus heraus starten will (egal ob mit F9 oder Ctrl+Shift+F9), bekomme ich die Fehlermeldung "Das ausführbare Programm "firefox" ist nicht vorhanden oder nicht ausführbar. Siehe Start -> Startparameter -> lokal".

Da steht unter Startparameter ""$(Pas2JSBrowser)" "$(Pas2JSProjectURL)""

Firefox ist installiert und läuft auch. Wo kann ich diese Einstellung anpassen?
Ich bin unter Windows 11 mit Lazarus 2.2.7 (rev lazarus_2_2_6-1-gada7a90f86) FPC 3.2.2 i386-win32-win32/win64

Wenn ich die html Datei mit Doppelklick öffne, dann funktioniert es.
Coole Demo!

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

Re: [gelöst] pas2js installation

Beitrag von theo »

Mathias hat geschrieben: Do 28. Dez 2023, 19:20 Mit trunc oder stable von Lazarus ?
wennerer hat geschrieben: Do 28. Dez 2023, 20:42 Meine Trunc: Lazarus 3.99 (rev 343079e4f3) FPC 3.3.1 x86_64-linux-gtk2

In der Stable aber nur ohne debugger (also nicht mit F9 sodern mit Umsch+Strg+F9). In der Trunc ist als debugger Dwarf2 with sets (-gw-godwarfsets) ausgewählt,
Nur damit sich der Tippfehler nicht in den Köpfen einnistet: Es heisst "Trunk" mit "k".
Wikipedia hat geschrieben:Oft wird der Hauptentwicklungszweig als Trunk (z. B. bei Subversion) oder Main (ehemals Master) (z. B. bei Git) bezeichnet.
https://de.wikipedia.org/wiki/Versionsv ... rminologie

"Trunc" mit "c" gibt es auch. Das ist aber eine Funktion in Freepascal. Kommt von "truncate" (abschneiden).
https://www.freepascal.org/docs-html/rt ... trunc.html

wennerer
Beiträge: 609
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: [gelöst] pas2js installation

Beitrag von wennerer »

Hallo Theo,
mea culpa. Ich habe es ausgebessert, soll ja so nicht stehen bleiben.

Viele Grüße
Bernd

Mathias
Beiträge: 6953
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: [gelöst] pas2js installation

Beitrag von Mathias »

Was man noch sagen muss, wen man mit pas2js codet, wird man einige Merkwürdigkeiten feststellen.
Man merkt recht, das da Javascript dahinter steckt.

So Spielereien wie Typenumwandlungen und Pointer sind kaum möglich.
Auch Arrays sind ganz speziell.
Aber wen man mal echte Javascript verwendet hat, wird man merken warum dies so ist.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6953
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: [gelöst] pas2js installation

Beitrag von Mathias »

Habe gerade noch eine Eigenheit entdeckt.

Die geht mit pas2js nicht.

Code: Alles auswählen

Mesh_Buffers: array [(mbVBOVektor, mbVBOTexCoord, mbVBONormal, mbUBO)] of TJSWebGLBuffer;
Es muss zwingend getrennt werden.

Code: Alles auswählen

type
  TMesh_Buffers = (mbVBOVektor, mbVBOTexCoord, mbVBONormal, mbUBO);
var
  Mesh_Buffers: array [TMesh_Buffers] of TJSWebGLBuffer;   
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6953
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: [gelöst] pas2js installation

Beitrag von Mathias »

Im Anhang habe ich meine WebGL-Demo ein wenig überarbeitet.

Leider funktioniert bei mir kein einziges WebGL-Demo mehr, welches mit der package mitgeliefert wird.
.../ccr/pas2js-rtl/demo/webgl

Keine Ahnung, was ich für eine Basis für meine Demo hatte, auf jedenfalls war es etwas das lief.
Dateianhänge
WebGL_Matrix.zip
(192.63 KiB) 122-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

PascalDragon
Beiträge: 962
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: [gelöst] pas2js installation

Beitrag von PascalDragon »

Mathias hat geschrieben: Sa 30. Dez 2023, 13:50 Die geht mit pas2js nicht.

Code: Alles auswählen

Mesh_Buffers: array [(mbVBOVektor, mbVBOTexCoord, mbVBONormal, mbUBO)] of TJSWebGLBuffer;
Es muss zwingend getrennt werden.

Code: Alles auswählen

type
  TMesh_Buffers = (mbVBOVektor, mbVBOTexCoord, mbVBONormal, mbUBO);
var
  Mesh_Buffers: array [TMesh_Buffers] of TJSWebGLBuffer;   
Es könnte sich hierbei auch einfach nur um einen Bug handeln. Einfach mal mit einem vollständigen Beispiel in den Issues des pas2js Unterprojektes melden.
FPC Compiler Entwickler

Mathias
Beiträge: 6953
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: [gelöst] pas2js installation

Beitrag von Mathias »

Es könnte sich hierbei auch einfach nur um einen Bug handeln. Einfach mal mit einem vollständigen Beispiel in den Issues des pas2js Unterprojektes melden.
Gemacht:

https://gitlab.com/freepascal.org/fpc/p ... sues/39274
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten