JEDI Formatter

Für Fragen rund um die Ide und zum Debugger
Antworten
Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

JEDI Formatter

Beitrag von Mathias »

Kann es sein, das JEDI nicht fehlerfrei ist ?

Mit diesem Classen-Definition kommt eine Fehlermeldung.
Kompilieren lässt sich der Code ohne Probleme.

Code: Alles auswählen

  TKoerper = class(TObject)
  private
    FTexCoordx: single;
    FTexCoordy: single;
    Kreistab: array of record
      a, b: GLfloat;
    end;
    VBOvertex, VBOnormale, VBOTexturvertex: GLuint;
    VAO: GLuint;
    TexturID: GLuint;
    FColor: TVector4f;
    FSektoren: integer;
    FTexturen: boolean;
    TexturData: record
      Width, Height: GLuint;
      Data: array of GLuint;
    end;
    procedure KreisTabelleBerechnen;
    procedure Ring(r1, r2, h1, h2: single; vPos: integer);
    procedure SetColor(AValue: TVector4f);
    procedure SetSektoren(AValue: integer);
    procedure SetTexCoordx(AValue: single);
    procedure SetTexCoordy(AValue: single);
  protected
    FVertex: TVertex3fArray;
    FNormale: TVertex3fArray;
    FTexturVertex: TVertex2fArray;
  public
    OpenGL: TOpenGL;static;
    constructor Create; virtual;
    destructor Destroy; override;
    property Vertex: TVertex3fArray read FVertex;
    property Normale: TVertex3fArray read FNormale;
    property TexturVertex: TVertex2fArray read FTexturVertex;
    property Color: TVector4f read FColor write SetColor;
    property Sektoren: integer read FSektoren write SetSektoren;
    property TexCoordx: single read FTexCoordx write SetTexCoordx;
    property TexCoordy: single read FTexCoordy write SetTexCoordy;
    procedure WriteTextures;
    procedure WriteTextures(Bitmap: TBitmap);
    procedure WriteVertex;
    procedure Draw(WorldMatrix: TMatrix);
  end


Mit ein paar auskommandierten Methoden läuft JEDI

Code: Alles auswählen

 TKoerper = class(TObject)
  private
    FTexCoordx: single;
    FTexCoordy: single;
    Kreistab: array of record
      a, b: GLfloat;
    end;
    VBOvertex, VBOnormale, VBOTexturvertex: GLuint;
    VAO: GLuint;
    TexturID: GLuint;
    FColor: TVector4f;
    FSektoren: integer;
    FTexturen: boolean;
    TexturData: record
      Width, Height: GLuint;
      Data: array of GLuint;
    end;
    procedure KreisTabelleBerechnen;
    procedure Ring(r1, r2, h1, h2: single; vPos: integer);
    procedure SetColor(AValue: TVector4f);
    procedure SetSektoren(AValue: integer);
    procedure SetTexCoordx(AValue: single);
    procedure SetTexCoordy(AValue: single);
  protected
    FVertex: TVertex3fArray;
    FNormale: TVertex3fArray;
    FTexturVertex: TVertex2fArray;
  public
    //  OpenGL: TOpenGL;static;
    //constructor Create; virtual;
    //destructor Destroy; override;
    //property Vertex: TVertex3fArray read FVertex;
    //property Normale: TVertex3fArray read FNormale;
    //property TexturVertex: TVertex2fArray read FTexturVertex;
    //property Color: TVector4f read FColor write SetColor;
    //property Sektoren: integer read FSektoren write SetSektoren;
    //property TexCoordx: single read FTexCoordx write SetTexCoordx;
    //property TexCoordy: single read FTexCoordy write SetTexCoordy;
    //procedure WriteTextures;
    //procedure WriteTextures(Bitmap: TBitmap);
    //procedure WriteVertex;
    //procedure Draw(WorldMatrix: TMatrix);
  end;   
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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

Re: JEDI Formatter

Beitrag von Mathias »

Ich bin ein bisschen weiter gekommen. Sobald ich static von OpenGL: TOpenGL; static; entferne geht es.
Somit hat JEDI Probleme mit dem Wort static.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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

Re: JEDI Formatter

Beitrag von Mathias »

Das Problem hat sich auch gelöst ich kann static umgehen.

Code: Alles auswählen

OpenGL: TOpenGL; static;  // alt
class var OpenGL: TOpenGL;  // neu
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Philos
Beiträge: 43
Registriert: Mo 3. Mär 2014, 16:06
OS, Lazarus, FPC: Ubuntu Linux 14.04, Windows 7/8, Lazarus 1.2.2, Delphi XE5
CPU-Target: amd64
Wohnort: Rostock
Kontaktdaten:

Re: JEDI Formatter

Beitrag von Philos »

Ja, JEDI scheint nicht ganz fehlerfrei zu sein. In der älteren Version 1.0.14 hatte JEDI mit Generischen Typen Probleme und konnte
nicht formatieren... Ist manchmal nicht ganz nachvollziehbar, wenn doch der Code richtig kompiliert :(
Seit Lazarus 1.2.x kriegt JEDI das bei mir aber wieder ohne Probleme hin.
((2*b) || !(to_be)) ... that's the question.

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Re: JEDI Formatter

Beitrag von schnullerbacke »

Nanu???
JEDI geht jetzt auf Lazarus? Die waren doch so hart an Delphi und Windows gekettet, dass fast nix ging? :shock:
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: JEDI Formatter

Beitrag von Socke »

schnullerbacke hat geschrieben:JEDI geht jetzt auf Lazarus? Die waren doch so hart an Delphi und Windows gekettet, dass fast nix ging? :shock:

Die JEDI-Units wirst du nur schwerlich auf anderen Betriebssystemen zum Laufen bringen. Hier geht es um die Code-Formatierung, die schon eine gefühlte Ewigkeit in Lazarus vorhanden ist.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Re: JEDI Formatter

Beitrag von schnullerbacke »

Das meinte ich doch auch @Socke. Die haben schon unter Delphi 7 so ihre Zicken gemacht wenn man die nicht mit den richtigen Parametern installiert hat. Obwohl einiges von der JVCL durchaus sehenswert war und einem ne Menge Arbeit erspart hat.

War lange nicht hier und hab mich bei Rev 1.2.2 gerade über Pascal-Script gewundert. Funkschaniert das wirklich? :oops:
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Antworten