pas2js - Record ähnliches an Function übergeben.

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

pas2js - Record ähnliches an Function übergeben.

Beitrag von Mathias »

Ich habe folgende Zeile in JavaScript.

Code: Alles auswählen

  gl = canvas.getContext("webgl", {depth:true, antialias:true, alpha: false});
Wie löse ich dies in pas2js ?
Es geht mit um den Teil in den {}.

Soweit bin ich unterdessen gekommen

Code: Alles auswählen

var
  gl: TJSWebGLRenderingContext = nil;
  cA: TJSObject = nil;
 begin
    gl := TJSWebGLRenderingContext(canvas.getContext('webgl2', cA));
Einen gewöhnlichen Context ohne Parameter kann ich erstellen, das nil kann ich sogar ganz weg lassen.

Code: Alles auswählen

    gl := TJSWebGLRenderingContext(canvas.getContext('webgl2', nil));
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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

Re: pas2js - Record ähnliches an Function übergeben.

Beitrag von Mathias »

Mit etwas rumtüffteln bin ich auf folgendes gestossen:

Code: Alles auswählen

  var
    ButtonLeft, Panel, ButtonRight, ButtonTop, ButtonBottom: TJSElement;
    cA: TJSObject;
 begin
    cA := TJSObject.new;
    cA['depth'] := False;
    cA['antialias'] := True;
    cA['alpha'] := False;

    gl := TJSWebGLRenderingContext(canvas.getContext('webgl2', cA));
Sowas kurliges habe ich bis jetzt in Pascal nie gesehen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

PascalDragon
Beiträge: 966
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: pas2js - Record ähnliches an Function übergeben.

Beitrag von PascalDragon »

Mathias hat geschrieben: Sa 13. Jan 2024, 19:59 Sowas kurliges habe ich bis jetzt in Pascal nie gesehen.
Siehe hier.
FPC Compiler Entwickler

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

Re: pas2js - Record ähnliches an Function übergeben.

Beitrag von Mathias »

PascalDragon hat geschrieben: So 14. Jan 2024, 20:16
Mathias hat geschrieben: Sa 13. Jan 2024, 19:59 Sowas kurliges habe ich bis jetzt in Pascal nie gesehen.
Siehe hier.
Danke
Ein saubere Lösung.
Ich dachte mit fast, das es nicht so ein Geflicke braucht.

Jetzt sieht es recht sauber aus.

Code: Alles auswählen

    gl := TJSWebGLRenderingContext(canvas.getContext('webgl2', new(['depth', True, 'antialias', True, 'alpha', False])));
Alternativ geht noch folgendes:

Code: Alles auswählen

  var
    cA: TJSObject;
begin
    ...
    cA := new(['depth', True, 'antialias', True, 'alpha', False]);
    gl := TJSWebGLRenderingContext(canvas.getContext('webgl2', cA));
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten