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
Benutzerbild von Sir Rufo
Sir Rufo

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

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
 
#2

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.702 Beiträge
 
Delphi 12 Athens
 
#3

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
 
#4

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
 
#5

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.702 Beiträge
 
Delphi 12 Athens
 
#6

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


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