AGB  ·  Datenschutz  ·  Impressum  







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

Das Ex in der Funktion?

Ein Thema von Popov · begonnen am 1. Jan 2014 · letzter Beitrag vom 2. Jan 2014
Antwort Antwort
Seite 2 von 2     12   
Popov
(Gast)

n/a Beiträge
 
#11

AW: Das Ex in der Funktion?

  Alt 1. Jan 2014, 23:49
Wenn man beide Funktionen vergleicht, dann kommt man evtl. auch auf die gesuchte Bedeutung von Ex
Mein alter Lehrer fragte mich mal: Wissen Sie was der Unterschied zwischen einem Arzt und einem Anwalt ist? Der Arzt - sage er - muss alles wissen, der Anwalt muss wissen wo er es nachlesen kann.

Dass Ex Extended bedeutet, war mir schon irgendwie klar. Das habe ich auch in dem Halbsatz im ersten Beitrag angedeutet: "also um eine Erweiterte Funktion". Auf der anderen Seite man kann immer eine Funktion erweitern und noch mal erweitern und nochmal. Nur eine ShellExecuteExExEx gibt es wohl nicht. Bedeutet das, dass es Schluss mit dem Erweitern ist? Ein mal Schrott basteln und ein mal verbessern? Also die logischste Antwort kam bisher von sx2008.

Wie gesagt, es ist keine wichtige Frage, es ging nur darum nach welchen Kriterien Ex vergeben wird. Einfach nur so.

Also den Text von ShellExecute habe ich mehr oder weniger schon früher gelesen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#12

AW: Das Ex in der Funktion?

  Alt 1. Jan 2014, 23:56
Nicht zu vergessen das A und W in der Funktion.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

AW: Das Ex in der Funktion?

  Alt 2. Jan 2014, 00:02
Ich weiß jetzt nicht warum MSDN-Library durchsuchenShellExecute Schrott sein soll und MSDN-Library durchsuchenShellExecuteEx die richtige Version (oder auch umgekehrt).

Beide habe ihre Daseinsberechtigung, denn ich sehe sehr oft die Verwendung von MSDN-Library durchsuchenShellExecute (einfacher Aufruf) und seltener MSDN-Library durchsuchenShellExecuteEx.

IdR ist eine Funktion ohne Ex eine Vereinfachung für den schnellen Aufruf ohne großen Schnickschnack und die Funktion mit Ex mit allem Schniddeldibupp aber auch zumeist "umständlicherem" Aufruf (bei MSDN-Library durchsuchenShellExecuteEx muss ein Record gefüllt werden, der als Parameter übergeben wird).

Zudem gibt es bei den API keine Möglichkeit der Überladung (overload ), somit muss halt ein anderer Name her.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#14

AW: Das Ex in der Funktion?

  Alt 2. Jan 2014, 08:38
Ich weiß jetzt nicht warum MSDN-Library durchsuchenShellExecute Schrott sein soll und MSDN-Library durchsuchenShellExecuteEx die richtige Version (oder auch umgekehrt).
Ich weiß jetzt auch nicht, wer das behauptet. Allerdings ist es aus softwaretechnischer Sicht Quatsch, wenn eine API mehrere quasi overloaded Versionen ein und derselben Funktion bereithält. Die Bequemlichkeit kann sich der Programmierer dann selbst basteln.

Microsoft hat hier entweder nachträglich die -Ex Versionen hinzugefügt oder vorausschauend etwas convinience bereitgestellt (ich glaube, die Story von sx2008 entspricht der Wahrheit). Die -Ex Versionen machen aus deshalb Sinn, weil hier die Funktionalität nachträglich erweitert werden kann, ohne die Signatur zu ändern=> Programme bleiben weiterhin kompilierbar.

Insofern ist -nachträglich betrachtet- nur 'ShellExecute' Quatsch bzw. überflüssig.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#15

AW: Das Ex in der Funktion?

  Alt 2. Jan 2014, 09:11
Programme bleiben weiterhin kompilierbar.

Insofern ist -nachträglich betrachtet- nur 'ShellExecute' Quatsch bzw. überflüssig.
Wenn man denn bei einem Wechsel der Windows(-API)-Version immer alle Programme auf die neue API kompilieren möchte bzw. kann.

Der Vorteil der Beibehaltung des alten Namens mit seiner Signatur bedeutet ja auch, daß bereits kompilierte Programme weiterhin mit der neuen API laufen. Andernfalls hätten wohl einige unserer Mitglieder hier schon seit geraumer Zeit heftige Probleme ihr Delphi 5 noch unter einem halbwegs aktuellen Windows laufen zu lassen.

Umgekehrt erhöht die Verwendung der alten Funktion die Wahrscheinlichkeit, daß die Anwendung auch noch auf einem älteren Windows läuft.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#16

AW: Das Ex in der Funktion?

  Alt 2. Jan 2014, 18:38
Man kann also abschließend sagen, dass es nichts spezielles bedeutet, wie z. B. bei A und W, sondern, dass es eine andere Version einer Funktion ist, ob man später entdeckt hat, dass da etwas fehlt, oder schon von Anfang an eine einfache und eine komplexere Funktion anbieten wollte.

Das wollte ich nur wissen
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#17

AW: Das Ex in der Funktion?

  Alt 2. Jan 2014, 19:41
@Uwe Raabe:
Du hast -vermutlich unwissentlich- zwei konträre Aussagen irrtümlich und falsch zusammenhängend zitiert.
1. Die Beibehaltung der Original-Signatur gewährleistet die Abwärtskompatibilität.
2. Aus Sicht eines API-Architekten ist Originalsignatur Quark, weil Redundanz in einer API nichts zu suchen hat.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#18

AW: Das Ex in der Funktion?

  Alt 2. Jan 2014, 22:33
@Uwe Raabe:
Du hast -vermutlich unwissentlich- zwei konträre Aussagen irrtümlich und falsch zusammenhängend zitiert.
Wenn ich deinen Post jetzt unter Berücksichtigung deines Kommentars nochmal lese, kann man das tatsächlich anders interpretieren. Das ist halt das Problem bei natürlicher Sprache - sie ist nicht kontextfrei und oft mehrdeutig.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 05:21 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