Einzelnen Beitrag anzeigen

Noobmaster

Registriert seit: 18. Jul 2010
114 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Andorra 2D - graues Fenster

  Alt 20. Jul 2010, 10:08
Folgendes hat sich geändert: Ich habe die dll in den Ordner der Exe kopiert. Ich habe die Fehlerbehandlung eingebaut und tatsächlich beschwert er sich nun, dass die Initialisierung fehlgeschlagen ist.
Ich benutze übrigens Windows 32Bit.
Hier mein momentaner Quellcode:
Delphi-Quellcode:
unit Unit1;

{$MODE DELPHI}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, AdDraws, AdClasses,AdComponentWindow,AdStdWindow;

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

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  AdDraw := TAdDraw.Create(Form1);
  AdDraw.DllName := 'AndorraOGLLaz.dll';
  if AdDraw.Initialize then
  begin
    Application.OnIdle := Idle;
  end
  else
  begin
    ShowMessage('Error while initializing Andorra 2D. Try to use another display'+
                'mode or another video adapter.');
    halt;
  end;
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.
Woran könnte es liegen, dass die Initialisierung fehl geschlagen ist?
Muss ich noch irgendetwas in den Ordner kopieren, in dem meine .exe-Datei liegt?

Geändert von mkinzler (20. Jul 2010 um 12:57 Uhr) Grund: Quote-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat