Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Delphi & Linux, Ausrichtung Controls (https://www.delphipraxis.net/56871-delphi-linux-ausrichtung-controls.html)

skyware 12. Nov 2005 15:41


Delphi & Linux, Ausrichtung Controls
 
Hallo zusammen,

ich bin gerade dran ein Delphi Programm nach Kylix zu portieren.
Funktionierte bisher auch wunderbar, lies sich alles super
kompilieren, keine Fehler vorhanden.
Das einzige Problem das ich nun habe ist das z.B gewissen Controls
nicht identisch ausgerichtet werden wie unter Delphi.
Genauer gesagt, ich kreiere 6 Labels dynamisch auf einem Panel.
Sagen wir denen Label1, Label2, Label3 etc.
Unter Delphi werden die nun korrekt dargestellt, zuerst Label1, dann
Label2, etc...
Unter Kylix wird nun aber zuerst Label6, Label5, Label4...etc.
dargestellt (also genau in umgekehrter Reihenfolge) :wall:

Hat jemand auch schon mal so eine Erfahrung gemacht, resp. weiss
jemand eine Lösung für dieses Problem?

Der Code ist genau der gleiche unter Delphi und Kylix. Und ich möchte
nicht unbedingt mit IFDEF's arbeiten müssen um das mit dieser Reihenfolge
hinzukriegen...

Wäre für Hilfe dankbar! :coder:

malo 12. Nov 2005 15:49

Re: Delphi & Linux, Ausrichtung Controls
 
Wie erzeugst du denn die Elemente?

skyware 12. Nov 2005 16:03

Re: Delphi & Linux, Ausrichtung Controls
 
hier ein kleines Beispiel...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  xPanel : TPanel;

  procedure CreateLabel(const ACaption: string);
  var
    xLabel : TLabel;
  begin
    xLabel := TLabel.Create(xPanel);
    xLabel.Parent := xPanel;
    xLabel.Caption := ACaption;
    xLabel.Top    := 5;
    xLabel.Align  := alLeft;
  end;

begin
  xPanel := TPanel.Create(self);
  xPanel.Visible := false;
  try
    xPanel.Parent := self;
    xPanel.Left := 0;
    xPanel.Top := 0;
    xPanel.Width := 500;
    xPanel.Height := 100;

    CreateLabel('test 1');
    CreateLabel('test 2');
    CreateLabel('test 3');
    CreateLabel('test 4');
    CreateLabel('test 5');
    CreateLabel('test 6');

  finally
    xPanel.Visible := true;
  end;

end;
Ist nicht genau der Code aber vom Prinzip her identisch...

tommie-lie 12. Nov 2005 16:07

Re: Delphi & Linux, Ausrichtung Controls
 
Zitat:

Zitat von skyware
Ist nicht genau der Code aber vom Prinzip her identisch...

Du erzeugst die Labels als durch 6 hintereinanderfolgende Einzelaufrufe und nicht in einer Schleife?

fkerber 12. Nov 2005 16:10

Re: Delphi & Linux, Ausrichtung Controls
 
HI!

Du vergibst keinen Namen für die Labels. Kanns damit zusammenhängen?

Ciao Frederic

skyware 12. Nov 2005 16:11

Re: Delphi & Linux, Ausrichtung Controls
 
es geht nicht um den Aufruf...ist nur ein Beispiel,
klar wäre hier eine Schlaufe schöner.
Aber es geht darum das dann unter Kylix die Labels in umgekehrter
Reihenfolge dargestellt werden...(siehe erstes Posting)

tommie-lie 12. Nov 2005 16:17

Re: Delphi & Linux, Ausrichtung Controls
 
Zitat:

Zitat von skyware
es geht nicht um den Aufruf...ist nur ein Beispiel,

Das schrobst du bereits.

Zitat:

Zitat von skyware
klar wäre hier eine Schlaufe schöner.

Deswegen fragte ich, ob du eine benutzt, oder nicht.

Zitat:

Zitat von skyware
Aber es geht darum das dann unter Kylix die Labels in umgekehrter
Reihenfolge dargestellt werden...(siehe erstes Posting)

Dann? Wenn du eine Schleife benutzt? Also geht es jetzt?

Die Sache ist, daß der Optimizer von Delphi (und somit auch Kylix) die Eigenschaft hat, gerne mal die Abarbeitugnsreihenfolge von Schleifen zu ändern, wenn das möglich ist. Wenn dir jemand einen Gegenfrage stellt, empfiehlt es sich also, diese auch zu beantworten, er wird das nicht nur zum Spaß wissen wollen ;-)

skyware 12. Nov 2005 16:21

Re: Delphi & Linux, Ausrichtung Controls
 
Hallo fkerber,

habe jetzt allen Labels mal noch einen Namen gegeben...leider
ändert das nichts :-(

skyware 12. Nov 2005 16:24

Re: Delphi & Linux, Ausrichtung Controls
 
Hallo tommie-lie,

ok dann hab ich Dich falsch verstanden, entschuldige.
Dachte Du wolltest mit Deinem Beitrag auf den Umstand hinweisen
das ich keine Schleife benutzt habe, was ja im Beispiel möglich gewesen
wäre.
Aber im ursprünglichen Code bei dem ich dieses Problem habe, benutze ich
keine Schleife, sondern kreiere ich die Labels hintereinander, Zeile für
Zeile, wie im Beispiel.

Khabarakh 12. Nov 2005 16:27

Re: Delphi & Linux, Ausrichtung Controls
 
Was für einen Sinn haben übereinandergestapelte Labels :gruebel: ? Ich könnte mir gut vorstellen, dass genau damit Kylix ein Problem hat. Kannst du das Problem nicht anders lösen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz