[Geändert] Andorra Textout, verschrumpelt..
[Geändert] Andorra Textout, verschrumpelt..
Hallo leute, ich versuche gerade Andorra 2D mit Lazarus zum laufen zu kriegen.
Bislang ging alles gut allerdings hab ich ein Problem, ich benötige für eine Funktion innerhalb Andorra "GetObject" und das gibts i-wie nicht, bzw ich weiß nicht wo.
Kann mir da wer helfen?
Oder gibt es zu Andorra alternativen, außer direkt OGL? Amsonsten bleibt mir wohl nix anderes über.
PS: Hab den Titel geändert, da das Hauptproblem, dann doch ein anderes ist.
Crosspost: http://www.delphi-forum.de/viewtopic.ph ... 931#597931" onclick="window.open(this.href);return false;
Bislang ging alles gut allerdings hab ich ein Problem, ich benötige für eine Funktion innerhalb Andorra "GetObject" und das gibts i-wie nicht, bzw ich weiß nicht wo.
Kann mir da wer helfen?
Oder gibt es zu Andorra alternativen, außer direkt OGL? Amsonsten bleibt mir wohl nix anderes über.
PS: Hab den Titel geändert, da das Hauptproblem, dann doch ein anderes ist.
Crosspost: http://www.delphi-forum.de/viewtopic.ph ... 931#597931" onclick="window.open(this.href);return false;
Zuletzt geändert von Displaced am Do 4. Mär 2010, 18:05, insgesamt 2-mal geändert.
-
- Beiträge: 19
- Registriert: Mo 14. Sep 2009, 15:16
- OS, Lazarus, FPC: Mac OS (Lazarus 0.9.31, FPC 2.5.1)
- CPU-Target: 32Bit & 64Bit
- Wohnort: Königsbrunn
- Kontaktdaten:
Re: GetObject fehlt
Beschreib doch mal bitte dein Problem ein bisschen genauer. Was möchtest du genau machen und wozu brauchst du ein "getObject"? Eventuell ein bisschen Beispielcode wäre ganz hilfreich.
Alternativen gibt es jede Menge, aber setz doch erstmal noch etwas mit Andorra 2D etwas mehr auseinander, bevor du das ganze Konzept über den Haufen wirst. Notfalls kannst du ja auch selber eine "getObject" implementieren. Solltest du dich mit OpenGL direkt beschäftigen wollen, musst du viel mehr Handarbeit anlegen. Andorra nimmt dir da schon einiges ab.
Alternativen gibt es jede Menge, aber setz doch erstmal noch etwas mit Andorra 2D etwas mehr auseinander, bevor du das ganze Konzept über den Haufen wirst. Notfalls kannst du ja auch selber eine "getObject" implementieren. Solltest du dich mit OpenGL direkt beschäftigen wollen, musst du viel mehr Handarbeit anlegen. Andorra nimmt dir da schon einiges ab.
Re: GetObject fehlt
Code: Alles auswählen
procedure SetFontQuality (aFont: TFont; aQuality: Byte);
var
LF : TLogFont;
begin
GetObject(aFont.Handle, SizeOf(TLogFont), @LF);
LF.lfQuality := aQuality;
aFont.Handle := CreateFontIndirect(LF);
end;
Also man konnte nix erkennen.
Btw: Ich finde Andorra toll, es funktioniert auch einwandfrei mit TurboDelphi auf Win..
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: GetObject fehlt
Ich würde darauf tippen, dass es eine API Funktion ist und somit in den Unit: LCLType, LCLProc und / oder LCLInft zu finden ist.
PS: Ich nutzte zwischendurch Andorra Linux, die Schrift geht bei mir recht zufriedenstellen. Vielleicht ist das ein Windows Fehler in Andorra ?
Schon mal den Autoren von der Engine gefragt ? Der ist hier auch angemeldet: Igel
PS: Ich nutzte zwischendurch Andorra Linux, die Schrift geht bei mir recht zufriedenstellen. Vielleicht ist das ein Windows Fehler in Andorra ?
Schon mal den Autoren von der Engine gefragt ? Der ist hier auch angemeldet: Igel
MFG
Michael Springwald
Michael Springwald
Re: GetObject fehlt
Das mit LCLInft hat funktioniert.
Ich hab mich mal mit Igel unterhalten...
Ich hab ihm ein Screenshot gezeigt und ihm gesagt, dass es immer gleich aussieht egal welchen Font ich nehme.
Er meinte dann, Zitat: "Die Fonts werden mit der Hilfe von LCL/VCL Funktionen erstellt - also eher ein Bug dort. ".
Vllt ein neues Thema dafür auf machen, oder weiß da was wer drüber?
Ich hab mich mal mit Igel unterhalten...
Ich hab ihm ein Screenshot gezeigt und ihm gesagt, dass es immer gleich aussieht egal welchen Font ich nehme.
Er meinte dann, Zitat: "Die Fonts werden mit der Hilfe von LCL/VCL Funktionen erstellt - also eher ein Bug dort. ".
Vllt ein neues Thema dafür auf machen, oder weiß da was wer drüber?
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: GetObject fehlt
Bei mir klappt das ganz gut. Kannst du mal die Code Ausschnitte Zeigen wie du die Schrift Art erstellt und Anwendest ?
MFG
Michael Springwald
Michael Springwald
Re: GetObject fehlt
Code: Alles auswählen
program Project1;
{$mode DELPHI}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this }, LazOpenGLContext,
AdClasses, AdEvents, AdTypes, AdDraws, AdStdWindow, AdDLLExplorer,
Graphics, AdConsts;
type
{ TAdAppl }
TAdAppl = class
public
AdDraw : TAdDraw;
procedure Run;
procedure Idle(Sender:TObject; var Done:boolean);
end;
procedure TAdAppl.Run;
var
AdDLLExplorer: TAdDLLExplorer;
begin
AdDraw := TAdDraw.Create(nil);
AdDraw.DllName := './libAndorraOGL.so'; //Function in the AdDLLExplorer unit
AdDraw.Display.Width := 800;
AdDraw.Display.Height := 600;
AdDraw.Display.BitDepth := Ad32Bit;
if AdDraw.Initialize then
begin
AdDraw.Window.Events.OnIdle := Idle;
AdDraw.Window.Title := 'Andorra 2D';
AdDraw.Run;
end;
AdDraw.Free;
end;
procedure TAdAppl.Idle(Sender: TObject; var Done: boolean);
begin
AdDraw.ClearSurface(clWhite);
AdDraw.BeginScene;
with AdDraw.Canvas do
begin
Pen.Color := AdCol32_Black;
Font := AdDraw.Fonts.GenerateFont('Comic Sans MS',32, []);
Textout(20,20,'Halloooo');
end;
AdDraw.EndScene;
AdDraw.Flip;
done := false;
end;
var
Appl:TAdAppl;
{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
begin
Appl := TAdAppl.Create;
try
Appl.Run;
finally
Appl.Free;
end;
end.
Ich benutz Andorra_531 glaub ich also das letzte was man downloaden kann, welches nicht CVS ist.
Und mit der kleinen änderung wegen dem Antialiasing, welches auch nicht klappt.
Klappt mit der normalen version nicht, und mit meiner Veränderung, auf Windows klappts ja.
Lazarus: 0.9.26.2-2
FPC: 2.2.4-3
Von Synaptics (Ubuntu 9.10) runtergeladen.
//EDIT
Habe gerade Lazarus 0.9.28.2 runtergeladen, und es hat sich nichts geändert, außer dass alle Buchstaben gleich verschrümpelt aussehen...
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: GetObject fehlt
Vorsicht - was du da machst, ist keine LCL Anwendung! Die LCL muss vor der Verwendung initialisiert werden. Erstell mal ein neues Projekt und probier deinen Code dort aus (also in einem Projekt, das ein Formular hat). Dort kannst du dir auch gleich anschauen, wie und wann die LCL initialisiert wird.
Re: GetObject fehlt
Hm mit einer LCL anwedung hatte ich aber immer wieder fehler bekommen, diese tollen Zugriffsfehler, beim schließen dann.
Joah und ändern tut es an der Schrift auch nichts..
Joah und ändern tut es an der Schrift auch nichts..
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: [Geändert] Andorra Textout, verschrumpelt..
Deine Vorgehensweise ist etwas Untypisch. Auf der Andorra Hompage gibt es ein Tutorial, was genau beschreibt wie du Andorra in Lazarus nutzen kannst: http://andorra.sourceforge.net/index.php?bb=lazarus1ger" onclick="window.open(this.href);return false;
MFG
Michael Springwald
Michael Springwald
Re: [Geändert] Andorra Textout, verschrumpelt..
Ja genau das hab ich gemacht, und da ist es genau das selbe, außerdem gibt es dort noch ein anderes Tutorial für Lazarus & das ist eben ohne LCL, und da ist es ebenfalls das selbe.
Der einzige Unterschied ist, dass ich mit einem LCL projekt immer nen SIGSEGV bekomme und mit NonLCL nicht. (Kann ich mir auch nicht erklären).
Der einzige Unterschied ist, dass ich mit einem LCL projekt immer nen SIGSEGV bekomme und mit NonLCL nicht. (Kann ich mir auch nicht erklären).
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: [Geändert] Andorra Textout, verschrumpelt..
Ich hatte am Anfang auch Probleme, dass lag meistens an der DLL / SO Datei bzw. die Art und weise wie sie Andorra übergeben wurde. Jetzt geht es Problemlos.
MFG
Michael Springwald
Michael Springwald
Re: [Geändert] Andorra Textout, verschrumpelt..
Ja gut, das Problem mit dem Text besteht aber ja weiterhin und das hilft mir hier alles nichts x_X
Ich hab auch keine Idee woher das kommen könnte, selbst mit ner "clean" version von andorra ist das ja so..
ich werd nochmal versuchen andere fpc sources zu bekommen und wenns dann auch nicht besser ist, dann weiß ich auch nimmer weiter =(
Ich hab auch keine Idee woher das kommen könnte, selbst mit ner "clean" version von andorra ist das ja so..
ich werd nochmal versuchen andere fpc sources zu bekommen und wenns dann auch nicht besser ist, dann weiß ich auch nimmer weiter =(