AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Problem mit WM_NOTIFY beim Listview und Return
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit WM_NOTIFY beim Listview und Return

Ein Thema von Luckie · begonnen am 21. Feb 2003 · letzter Beitrag vom 23. Feb 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#11
  Alt 22. Feb 2003, 16:03
Zitat von MathiasSimmack:
  • Du hast einen Dialog als Hauptfenster. In dem Dialog steckt aber nur die Listview, alles andere wird im Programm erzeugt. Ich hätte diesen Schritt übersprungen und Fenster und Listview auch gleich im Programm erstellt; also ohne Dialogressource.
  • Nicht mehr. Mitlerweile ist noch was dazu gekommen.
    Zitat:
  • Der Quellcode ist für meinen Geschmack zu unübersichtlich. Du hast zwar räumliche Trennungen (durch mehrzeilige Kommentare), aber manchmal stecken Prozeduren in "Sparten", in denen sie, IMHO, eigentlich nichts zu suchen haben.
Habe ich gerade die Tage geändert.
Zitat:
  • Was mir ebenfalls nicht sonderlich gefällt (persönliche Meinung!), ist das Deklarieren von Variablen an zentraler Stelle. Das mache ich nur bei Texten (Konstanten), die man z.B. übersetzen können soll. Variablen deklariere ich erst dann, wenn sie gebraucht werden; die ganzen Fenster-Handles z.B. erst vor der "WndProc", usw.
    Benötige ich so ein Handle dann doch vor seiner Deklaration, dann übergebe ich es der Prozedur (die es braucht) als Parameter. Erst wenn ich das Handle in verschiedenen Prozeduren benötige, ziehe ich es weiter nach vorn.
  • Ist das wirklich so schlimm?
    Zitat:
  • Schau dir mal bitte den Teil mit dem Dropdown-Menü für den "Drucken"-Button an. Solltest du mal einen Button davor einfügen, oder solltest du evtl. die Toolbar-Anpassung ausprobieren, bei der der Anwender entscheiden kann, welche Buttons er wo sehen will, dann erscheint das Menü unter Garantie unter dem falschen Button.
  • Da kommt nichts mehr dazu.
    Zitat:
  • Es gibt einige Optimierungsmöglichkeiten im Code. Als Beispiel sei das Umschalten der Listview-Ansicht (Icon, Report, Liste) genannt. Das ist immer das selbe. Eine Prozedur, aufgerufen mit dem gewünschten Stilattribut (wie im Tutorial), würde den Code verkürzen und die Exe auch wieder ein Stückchen kleiner machen.
  • Jupp. Aber die DB ist schon alt, sehr alt. Sie wurde ständig erweitert und verbessert (was nicht nicht unbedingt für den Code gilt )
    Zitat:
  • Die Konstante "DATFILE" konnte ich übrigens auskommentieren, ohne dass das Auswirkungen gehabt hätte.
  • Ups. Die hatte ich deklariert und habe sie dann in der Aufregung ganz vergessen zu benutzen.
    Zitat:
  • Na gut, die Namen von bestimmten Parametern würde ich nicht als Fehler ansehen. Ich persönlich (!) bevorzuge nur eben das "richtige" Casten und vermeide daher Variablennamen, die mit irgendwelchen Typen identisch sind (HWND, WPARAM, LPARAM, HBITMAP, ...) - obwohl letztlich auch bloß LONGINTS usw. hinter solchen Typen stecken.
  • Ansichtssache.

    Aber das ganze noch mal neu schreiben würde viel Arbeit bedeuten. Das einzigste, was ich eventuell machen werde ist es, den Quellcode komplett zu überarbeiten. Ein Anfang ist schon gemacht, ich habe alles mal sortiert. Das lag aber daran, dass der Code-Explorer von den GExperts die Prozeduren nur in alphabetischer Rehenfolge anzeigt, nicht wie sie im Code stehen.
    Michael
    Ein Teil meines Codes würde euch verunsichern.
      Mit Zitat antworten Zitat
    MathiasSimmack
    (Gast)

    n/a Beiträge
     
    #12
      Alt 22. Feb 2003, 20:39
    Zitat von Luckie:
    Ist das wirklich so schlimm?
    Ich sagte doch: das ist meine persönliche Meinung!

    Zitat:
    Ansichtssache.
    Auch hier: so würde ich das machen.

    Zitat:
    Aber das ganze noch mal neu schreiben würde viel Arbeit bedeuten. Das einzigste, was ich eventuell machen werde ist es, den Quellcode komplett zu überarbeiten.
    Ja, das meinte ich ja auch. Und ich kann dir jetzt schon sagen, dass ich mit meiner Vermutung richtig lag: nach etwas grober Kosmetik deines Codes funktioniert die ENTER-Taste nun.

    Die etwas feinere Kosmetik brachte eine Ersparnis von 5k ein. Als Anregung: das meiste kannst du beim Lesen und Schreiben der INI-Datei sparen, wenn du den Editfeldern des Dialogs "200" aufeinander folgende IDs gibst und die dazu passenden Namen in einem Array unterbringst. Dadurch reduzieren sich diese X Zeilen mit Lesen & Schreiben auf eine for-Schleife.

    Willste haben?
      Mit Zitat antworten Zitat
    Benutzerbild von Luckie
    Luckie

    Registriert seit: 29. Mai 2002
    37.621 Beiträge
     
    Delphi 2006 Professional
     
    #13
      Alt 22. Feb 2003, 21:02
    Zitat von MathiasSimmack:
    Willste haben?
    Laß mal stecken. Ich mich hat gerade die Arbeitswut gepackt und ich will sie jetzt noch mal komplett neu schreiben. Alles was ich von dem alten Code übernehme, werden die Ressourcen sein.

    Ich habe mir überlegt, dass ich das jetzt auch alles etwas objektorinetiert angehe. Also das mit den Einstellungenspiechern kommt in ein Objekt und das Lesen und Schreiben der Datendatei kommt auch in ein Objekt. Ich muß mir nur erst einen Entwurf machen über die Methoden, Eigenschaften usw.

    In einer Woche dürfte dann das Flagschiff meiner Webseite genaralüberholt sein. Dann stelle ich es auch hier mal vor.
    Michael
    Ein Teil meines Codes würde euch verunsichern.
      Mit Zitat antworten Zitat
    MathiasSimmack
    (Gast)

    n/a Beiträge
     
    #14
      Alt 22. Feb 2003, 22:27
    Klingt, als fühlte sich da wer bei der Ehre gepackt.
      Mit Zitat antworten Zitat
    Benutzerbild von Luckie
    Luckie

    Registriert seit: 29. Mai 2002
    37.621 Beiträge
     
    Delphi 2006 Professional
     
    #15
      Alt 23. Feb 2003, 03:44
    Zitat von MathiasSimmack:
    Klingt, als fühlte sich da wer bei der Ehre gepackt.
    Dazu nur so viel:
    Michael
    Ein Teil meines Codes würde euch verunsichern.
      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 17:26 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