AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme beim Wechsel auf Seattle

Ein Thema von greenmile · begonnen am 14. Mär 2016 · letzter Beitrag vom 16. Mär 2016
Antwort Antwort
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#1

Probleme beim Wechsel auf Seattle

  Alt 14. Mär 2016, 09:27
Hallo zusammen,

ich wollte "mal eben" mein Projekt unter Seattle compilieren, leider lief es (wie man es bei Delphi ja kennt) nicht schmerzfrei. Natürlich sind einige Funktionen/Prozeduren mal wieder umgezogen, ein nerviges, aber handelbares Thema. Allerdings zeigt mein TGridPanelLayout nun nichts mehr an. Im Designer ist alles ok, zur Laufzeit ist da einfach nichts. Dann startet es unter Android nicht mehr, es wird direkt nach dem Start wieder beendet. -cleaninstall, Deinstallation, Bereitstellung/Auf Standard habe ich schon versucht, es werden auch keine zusätzlichen Dateien mitgegeben. Wenn ich es unter Win32 starte dann läuft es zwar an, dafür ist mein TGridPanelLayout leer. Im Debugger bekomme ich keine Fehlermeldung beim Start, es ist einfach weg.

Im Strukturaufbau ist es so aufgebaut (4 x nebeneinander):

TTabControl => TTabItem => TPanel => TGridPanelLayout => TPanel => TRectangle => TImage

Alle anderen Tabs zeigen den Inhalt korrekt, es liegt also nicht am TTabControl.
Hatte jemand dieselben Probleme und kann mir ev einen Tipp geben?

PS: Da anscheinend die QS bei Embarcadero unbesetzt ist: Wo muss man sich bewerben?

Geändert von greenmile (14. Mär 2016 um 09:35 Uhr)
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Probleme beim Wechsel auf Seattle

  Alt 14. Mär 2016, 18:51
Inzwischen bin ich der Lösung ein wenig näher gekommen, das GridPanelLayout darf in Seattle keinem Panel untergeordnet sein, in XE8 ging das noch. Jetzt habe ich aber das Problem, dass TRectangle, die einer GridPanelLayout Section untergeordnet sind, die Größe nicht behalten. Egal was ich im Designer setze, sie haben zur Laufzeit die Höhe 0. Ich kann aber in FormCreate die Größe setzen, dann wird sie akzeptiert. Es wird zwar mit Sicherheit wieder eine tolle Erklärung geben warum das so ist. Aber Sorry, geht garnicht! In der Changeslist steht nix darüber.

Das es unter Android nicht mehr startete lag an der Template.XML, die musste neu erzeugt werden.

Geändert von greenmile (14. Mär 2016 um 19:45 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.916 Beiträge
 
Delphi 12 Athens
 
#3

AW: Probleme beim Wechsel auf Seattle

  Alt 16. Mär 2016, 11:38
Woher hast du den das GridPanelLayout nicht auf einen Panel liegen darf ?

Ich mache es so das ich die Row/Col Grössen im Code manuell neu anlege, auf den Designer verlasse ich nicht mehr.
Das ist zwar mehr Arbeit, aber da weiss ich wenigstens was passiert und kann einigermassen debuggen.

Siehe unten ist ein Beispiel, auch ein Experiment von vielen, aber das funktioniert im Moment ganz gut ohne Probleme.

Delphi-Quellcode:
procedure TS4ImageViewKeyfield.Keyfield_Panel(iCols, iRows : Integer);
var
  I: Integer;
  btNew: TSpeedButton;
begin

    if FGridPanelLayout.ColumnCollection.Count > 0 then
    begin
      Keyfield_Clear;

      FGridPanelLayout.ControlCollection.Clear;

      FGridPanelLayout.ColumnCollection.Clear;
      FGridPanelLayout.RowCollection.Clear;

    end;

    //##
    //## Create the Row and Column structures
    //##
    FGridPanelLayout.RowCollection.BeginUpdate;
    try
      if GIS4_DeviceInfo.IsTablet then
        FGridPanelLayout.Height := iRows * 60 * 2
      else
        FGridPanelLayout.Height := iRows * 60;

      for I := 0 to iRows-1 do
        FGridPanelLayout.RowCollection.Add;

    finally
      FGridPanelLayout.RowCollection.EndUpdate;
    end;

    FGridPanelLayout.ColumnCollection.BeginUpdate;
    try

      for I := 0 to iCols-1 do
        FGridPanelLayout.ColumnCollection.Add;

    finally
      FGridPanelLayout.ColumnCollection.EndUpdate;
    end;


    // Buttons
    for I := 0 to (iCols*iRows)-1 do
    begin

      btNew := TSpeedButton.Create( FGridPanelLayout );
      btNew.Parent := FGridPanelLayout;
      btNew.Align := TAlignLayout.Client;
      btNew.Margins.Left := 15;
      btNew.Margins.Right := 15;
      btNew.Margins.Top := 15;
      btNew.OnApplyStyleLookup := EvOnApplyStyleLookup;
      btNew.OnClick := EvOnClick;
      btNew.Visible := False; // Initially all OFF, only enabled when Setup'd

      btNew.Text := ''; //Format('Butti %d', [I+1]);

    end;


end;
Rollo
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Probleme beim Wechsel auf Seattle

  Alt 16. Mär 2016, 18:33
Woher hast du den das GridPanelLayout nicht auf einen Panel liegen darf?
Ich habe es so lange geändert, bis es wieder sichtbar war.

Ich mache es so das ich die Row/Col Grössen im Code manuell neu anlege, auf den Designer verlasse ich nicht mehr.
Das ist zwar mehr Arbeit, aber da weiss ich wenigstens was passiert und kann einigermassen debuggen.
Ja, die Erfahrung habe ich leider auch gemacht. Controls, die sich in den Zellen befinden, speichern die Größe nicht, die muss ich beim FormCreate immer setzen. Nervig, war unter XE8 nicht so.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 Uhr.
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