Ja, ich muss gestehen, dass ich genau das versucht habe. Allerdings würde mich auch viel mehr interessieren, wieso der Quellcode bei nicht so funktioniert, wie er im Tutorial angegeben wird...
Hier mein Quellcode:
Delphi-Quellcode:
unit Unit1;
{$MODE DELPHI}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, AdDraws, AdClasses;
type
{ TForm1 }
TForm1 =
class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ private declarations }
public
procedure Idle(Sender: TObject;
var Done:boolean);
AdDraw : TAdDraw;
{ public declarations }
end;
var
Form1: TForm1;
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
AdDraw := TAdDraw.Create(self);
AdDraw.DllName := '
AndorraOGLLaz.dll';
AdDraw.Initialize;
Application.OnIdle := Idle;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
AdDraw.Free;
end;
procedure TForm1.Idle(Sender: TObject;
var Done:boolean);
begin
AdDraw.ClearSurface(0);
AdDraw.BeginScene;
with AdDraw.Canvas
do
begin
Font := AdDraw.Fonts.GenerateFont('
Arial', 24, []);
TextOut(0,0,'
Andorra 2D...');
Font := AdDraw.Fonts.GenerateFont('
Arial', 10, []);
TextOut(0,30,'
...works with Lazarus too');
end;
AdDraw.EndScene;
AdDraw.Flip;
Done := false;
end;
initialization
{$I Unit1.lrs}
end.
Das Programm startet jetzt, aber danach tritt sofort ein SIGSEGV Fehler aus...
Dann springt der Cursor in eine
Unit namens "AdFontFactory" in die Zeile "FLastKey := nil;"
Wo liegt jetzt der Fehler?