AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Vergabe von ID's und deren Auswirkung
Thema durchsuchen
Ansicht
Themen-Optionen

Vergabe von ID's und deren Auswirkung

Ein Thema von EWeiss · begonnen am 20. Mai 2011 · letzter Beitrag vom 22. Mai 2011
Antwort Antwort
Seite 2 von 2     12   
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: Vergabe von ID's und deren Auswirkung

  Alt 20. Mai 2011, 15:37
Es geht hier wohl nicht um die IDs von Datensätzen, sondern von die IDs von Windowssteuerlementen. Ich denke, der Hinweis mit WM_USER dürfte hier nicht zutreffend sein, da mit den IDs Steuerelemente benannt werden und keine Nachrichten. Warum dieses Steuerelement jetzt aber "geblinkt" hat, kann ich mir aber auch nicht so recht erklären und wenn dann nur mit einer ziemlich schrägen Erklärung und so schräg kann man eigentlich gar nicht programmieren, so dass für mich diese Erklärung eigentlich ausscheidet.

Ich persönlich fange eigentlich bei hundert an zu zählen. Und wenn ich mehrere toplevel Fenster habe, dann bekommt das Hauptfenster die ID 100 und die Steuerelemente auf diesem die IDs 101 bis 199. Das zweite Fenster bekommt die ID 200 und die Steuerelemente auf diesem die IDs 201 bis 299 und so weiter.
Wäre ein Ansatzt habe mich auch so in etwa dran gehalten.
Das erklärt aber nicht das Phänomen.

Delphi-Quellcode:
PROP_IMAGE_BACK = 1;
GRID_IMAGE = PROP_IMAGE_BACK;
Funktioniert!

Delphi-Quellcode:
PROP_IMAGE_BACK = 1;
GRID_IMAGE = 1;
Funktioniert nicht!

obwohl beides letztendlich das gleiche Ergebnis liefert nämlich 1

gruss
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Vergabe von ID's und deren Auswirkung

  Alt 20. Mai 2011, 15:39
Ich kenne sowas eigentlich gar nicht.
Wobei ich versuche möglichst gar keine Konstanten im Code zu haben. Denn wie in der Physik ist das oft ein Zeichen, dass man Lücken in der Theorie hat.

Warum brauchst du überhaupt IDs für Controls oder andere Objekte?
Das wirkt als würdest du an irgendeiner stelle entweder nicht Objekt-Orientiert arbeiten, oder es sogar absichtlich platt-kloppen.

Da es aber nunmal schon so ist wie es ist, kannst du dirja in deinem Projektordner eine XML-Datei packen, in der alle diese komischen Keys gelistet sind.
Aus der kannst du dann immer den Delphi Code erzeugen, der sie dann als Konstante listet. Der Code, der dir den Delphi code erzeugt, könnte auch meckkern, wenn es zu Duplikaten kommt.
Wenn du das auf diese etwas plumpe Art wirklich willst. Denn was du da hast sind dann einfach nur Cardinals, die sagen rein gar nix aus.
Was du vllt willst sind enums, deren Feldern du Werte zuordnest.
Delphi-Quellcode:
type TControlIds =
(
  IntroLabel = 100, // Informations Label
  AeroButton= 101, // Aero Button
  FlipNotes = 102, // Noten Umdrehen
  Drum = 103, // Drum Liste
  Instrument = 104, // Instrumenten Liste
...
);
Aber für's nächste Projekt solltest du versuchen auf Objekte nciht über irgendeine ID zuzugreifen, sondern das Objekt selbst weiter zu reichen und direkt auf ihm zu arbeiten. Sonst nimmt man eine halbwegs moderne Sprache, und benutzt sie wie Pascal auf CPM+.

Edit: Ganz vergessen, dass Delphi-Enums global sind. Also nicht durch den Typen benutzten werden. Mussu also so einen grausigen Präfix nutzen, wie man es ja kennt (Hast ja jetzt auch einen).
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Vergabe von ID's und deren Auswirkung

  Alt 20. Mai 2011, 15:46
Verstehst du den Sinn einer ID nicht?
Das ist kein WM_MESSAGE sondern wie Luckie schon gesagt hat eine identifizierung um zum Beispiel
ein Object eindeutig zuordnen zu können.

Was hat das mit Objekt-Orientiert zu tun?
Das ist allgemein Standard und wird auch in C++ als Standard so gehalten wenn es um WinAPI Code geht.
Hier gibt es kein Control das funktioniert ohne eine eindeutige ID_

PS:
Habe dir mal ein Bild erstellt das du sehen kann warum man eine ID verwendet..
Wenn das nicht Objekt-Orientiert ist dann weiss ich auch nicht!

gruss

Geändert von EWeiss (11. Jul 2019 um 15:40 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:46 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