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;
...