AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Unterschiedliche Darstellung mit und ohne laufendem Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

Unterschiedliche Darstellung mit und ohne laufendem Delphi

Ein Thema von Alucard · begonnen am 18. Jan 2025 · letzter Beitrag vom 26. Jan 2025
 
Benutzerbild von Alucard
Alucard

Registriert seit: 9. Jan 2015
11 Beiträge
 
Delphi 12 Athens
 
#9

AW: Unterschiedliche Darstellung mit und ohne laufendem Delphi

  Alt 25. Jan 2025, 09:50
Erstmal sorry für die arg verspätete Antwort und vielen Dank für euren Input. Leider habe ich hier im Forum ständig Login- und Passwort-Probleme. Eigentlich hatte ich die gleich folgende Antwort direkt nach Uwes Post abgesetzt, aber die hatte es irgendwie zerhagelt und ich hatte seitdem keine Zeit mehr.


Alright, das ist jetzt peinlich

Kurzfassung: Der Fehler lag gänzlich woanders und - was wichtiger ist - in meiner Verantwortung


Die Listen werden aus zwei Text-Dateien gelesen (je eine für die obere und die untere Box) und im Falle der unteren noch nach einigen Kriterien geprüft. Bei bestandener Prüfung wird das Element angezeigt, sonst halt nicht. Da ich seit der Umstellung ausschließlich Probleme im Zusammenhang mit High-DPI hatte, bin ich blöderweise betriebsblind geworden und habe übersehen, dass in dieser Prüfung der Name des Rechners auf Übereinstimmung mit einer (hart-codierten) Liste untersucht wird - ggf. schaut diese Prüfung auch, ob Delphi läuft

Delphi-Quellcode:
procedure LadenWebTools;
var User : string;
    Delphi : boolean;
    Data : TStringList;
   i : integer;
const EntryLength : integer = 6;
begin
User := GetEnvironmentVariable('Computername');
Delphi := FindWindow('TAppBuilder', nil) <> 0;

Data := TStringList.Create;
Data.LoadFromFile('WebTools.txt');

i := 0;
SetLength(WebTools, 0);

While i <= Data.Count - 1 do
      begin
      SetLength(WebTools, Length(WebTools) + 1);

      With WebTools[High(WebTools)] do
           begin
           Name := Data[i];
           { mehr Daten... }
           Tag := Data[i + 4];
           { mehr Daten... }

           Inc(i, EntryLength);

           { Eintrag wieder löschen, wenn
              -- kein Icon gefunden
              -- keine User Übereinstimmung
              -- bei laufendem Delphi User ignorieren }

           If (FileExists('WebTools\' + Name + '.png') = false) Or
              ( (Tag = 'Home') And (Delphi = false) And (User <> 'User_Home_1')
                                                    And (User <> 'User_Home_2')
                                                    And (User <> 'User_Home_n') ) Or
              ( (Tag = 'Work') And (Delphi = false) And (User <> 'User_Work'  ) )
              then SetLength(WebTools, Length(WebTools) - 1);
           end;
      end;

Data.Free

For i := 0 to High(WebTools) do
    begin
    WebTools[i].Panel := TPanel.Create(Self);
    WebTools[i].Image := TImage.Create(Self);
    WebTools[i].Text := TPanel.Create(Self);
    WebTools[i].BtnOpen := TButton.Create(Self);
    WebTools[i].BtnSearch := TButton.Create(Self);

    { Design... }
    end;
end;

Geändert von TBx (25. Jan 2025 um 11:50 Uhr) Grund: Code-Tags durch Delphi-Tags ersetzt
  Mit Zitat antworten Zitat
 


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 06:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz