Thema: Delphi GLScene und DXF

Einzelnen Beitrag anzeigen

Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

GLScene und DXF

  Alt 16. Aug 2021, 20:03
Hallo,

da ich für eine kleine Anwendung zur Anzeige 3D benötige, habe ich mir mal GLSceneViewer-Demo und
ein paar Youtube-Videos angeguckt. Leider schaffe ich es nicht vorliegende DXF-Dateien zur Anzeige zu
bringen, da immer eine Exception(siehe gekürzter Anhang) ausgelöst wird.
Zum Anzeigen die TXT-Datei in DXF umbennen.

Als Ursache haben ich folgende Stelle in der GLS.FileDXF - Unit ausgemacht:
Delphi-Quellcode:
...
  TGLDXFVectorFile = class(TGLVectorFile)
  private
    FSourceStream: TStream; { Load from this stream }
    FBuffer: String; { Buffer and current line }
...
  function TGLDXFVectorFile.ReadLine: STRING;
  var
    j: Integer;
    FLine: STRING;
    NewlineChar: CHAR;


    procedure FillBuffer;
    var
      l: Integer;
    begin
      l := FSourceStream.Size - FSourceStream.Position;
      if l > BufSize then
        l := BufSize;
      SetLength(FBuffer, l);
      FSourceStream.Read(FBuffer[1], l); [COLOR="Lime"]// <-- Hier[/COLOR]
      FBufPos := 1;
    end;
...
Könnt Ihr in besagter Demo (falls vorhanden) eines der möglichen 3D-Formate anzeigen?
Deuten die Schriftzeichen in der Exception daraufhin, dass GLScene nicht Unicode fähig ist oder
hat das andere Gründe?

Danke

PS Hier gibt es keine Exception
Delphi-Quellcode:
..
  procedure FillBuffer;
  var
    l: Integer;
    Data : TBytes;
  begin
    l := FSourceStream.Size - FSourceStream.Position;
    if l > BufSize then l := BufSize;
    SetLength(Data, l);
    FSourceStream.ReadBuffer(Pointer(Data)^, l);
    FBuffer := TEncoding.Default.GetString(Data);
    FBufPos := 1;
  end;
...
Miniaturansicht angehängter Grafiken
exception.png  
Angehängte Dateien
Dateityp: txt GND.txt (45,3 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat