Ich setze die Abmessungen und rufe anschließend folgende procedure auf.
Delphi-Quellcode:
procedure TCadPaintForm.DrawLines;
var
I: integer;
MC: TMetaFileCanvas;
begin
showmessage(inttostr(FMetaFile.Width)); -> 1123 ***
showmessage(inttostr(FMetaFile.Height)); -> 794 ***
MC := TMetaFileCanvas.Create(FMetaFile, 0);
showmessage(inttostr(FMetaFile.Width)); -> 0 ***
showmessage(inttostr(FMetaFile.Height)); -> 0 ***
try
SetRaster(MC);
for I := 0 to FLines.Count - 1 do
FLines[I].Draw(MC);
finally
MC.Free;
end;
PaintBox.Invalidate;
Caption := 'CadPaint - ' + OpenDialog.FileName;
end;
Nach dem Aufruf von TMetaFileCanvas.Create sind die MetaFile Abmessungen plötzlich Null. Rufe ich die procedure 2 mal hintereinander auf, sind die Abmessungen jedoch korrekt. Ist das ein Bug?