AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

ShellExecution Brauche Hilfe

Ein Thema von Teklador · begonnen am 20. Apr 2019 · letzter Beitrag vom 21. Apr 2019
Antwort Antwort
Seite 4 von 4   « Erste     234
EWeiss
(Gast)

n/a Beiträge
 
#31

AW: ShellExecution Brauche Hilfe

  Alt 20. Apr 2019, 23:17
Ich denke es wäre sehr hilfreich, wenn der Fragende uns erst einmal mitteilt, welche Delphiversion er hat.
Ich kann mir kaum vorstellen, dass er Berlin Pro hat bei so einem einfachen Problem. Außerdem hätte er dann schon lange in die Delphiquellcodes reingeguckt.
Für ihn ist das Problem doch schon erledigt Seit dem letzten Beitrag auf Seite 2!
Seine Delphi Version ist "Delphi 10.1 Berlin Professional"

gruss
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.913 Beiträge
 
#32

AW: ShellExecution Brauche Hilfe

  Alt 20. Apr 2019, 23:26
Dann bleibt nur noch zu sagen, dass gehofft werden darf, dass er den Nutzer auf dieses Verhalten hinweist. Nicht, dass nachher einem Nutzer durch einen Programmfehler die Zwischenablage fehlt und er sich wundert warum.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.593 Beiträge
 
Delphi 5 Professional
 
#33

AW: ShellExecution Brauche Hilfe

  Alt 21. Apr 2019, 00:08
Das ist schlichtweg falsch.
Nö, ist es nicht.

Zitat:
Es ging nicht um die frage ob es bei allen Delphi Versionen so funktioniert.
Warum nicht? Denk doch mal über den konkreten Fragesteller hinaus. Wenn in der Zukunft jemand (anderes) den Quelltext kopiert, um diesen in einem alten Delphi zu benutzen, wird er - unnötigerweise (aber natürlich völlig korrekterweise) - eine Warnung vom Compiler bekommen, weil dort ShellExecute eben auf ShellExecuteA verweist, was PAnsiChar als Parameter benutzt.

Nur weil der Quelltext im Compiler des Fragestellers korrekt funktioniert, heißt das nicht, dass er das auch im Compiler eines anderen tut.

Zitat:
Fakt ist wenn ich in D2010 PChar verwende wird PChar automatisch zu PWideChar konvertiert oder willst du das bezweifeln?
Daran habe ich keinen Zweifel, und das habe ich auch an keiner Stelle angedeutet.

Zitat:
Wenn ich ShellExecute ohne A oder W aufrufe wird Automatisch von ShellExecuteW ausgegangen versuch es doch einfach.
Aber eben erst in Delphi ab 2009. Davor war es eben ShellExecuteA, und das will PAnsiChar und kein PWideChar.

Zitat:
Ganz einfach weil deine Aussage einfach falsch und nicht zutreffend ist.
Ist sie eben nicht. Und ich bin übrigens nicht der einzige, der immer wieder in diese Richtung darauf hinweist - himitsu schägt in die gleiche Kerbe.

Grüße
Dalai
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#34

AW: ShellExecution Brauche Hilfe

  Alt 21. Apr 2019, 00:11
Zitat:
Warum nicht? Denk doch mal über den konkreten Fragesteller hinaus. Wenn in der Zukunft jemand (anderes) den Quelltext kopiert, um diesen in einem alten Delphi zu benutzen, wird er - unnötigerweise (aber natürlich völlig korrekterweise) - eine Warnung vom Compiler bekommen
Siehe mein Shot alle deine versuche deine Aussage zu rechtfertigen sind damit widerlegt und dann fragst du noch warum diese Diskussion immer wieder angefacht wird?
Zitat:
weil dort ShellExecute eben auf ShellExecuteA verweist, was PAnsiChar als Parameter benutzt.
Eben nicht was steht auf meinem ScreenShot?
Aber gut hier nochmal genauer!
Delphi-Quellcode:
function ShellExecute; external shell32 name 'ShellExecuteW';
function ShellExecuteA; external shell32 name 'ShellExecuteA';
function ShellExecuteW; external shell32 name 'ShellExecuteW';
Zitat:
Aber eben erst in Delphi ab 2009.
Kein Argument.
Es ist nicht die frage ab welcher Delphi Version sondern die frage steht im Raum warum so eine bescheidene Krankhafte Abwärtskompatibilität.
Warum soll ich also wenn wie im Shot gezeigt bei ShellExecute hier PChar anstelle von PWideChar verwenden? Sorry das wäre schwachsinnig unabhängig davon ob
PChar automatisch nach PWideChar konvertiert wird.. Hier liegt schon das Problem.

Zitat:
himitsu schägt in die gleiche Kerbe.
Uninteressant wer wo was sagt für mich zählen die Fakten und die sind belegt.

gruss

Geändert von EWeiss (21. Apr 2019 um 00:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.593 Beiträge
 
Delphi 5 Professional
 
#35

AW: ShellExecution Brauche Hilfe

  Alt 21. Apr 2019, 00:34
Eben nicht was steht auf meinem ScreenShot?
Selbstverständlich verwenden Delphi-Versionen vor 2009 ShellExecute als "Alias" für ShellExecuteA. OK, vielleicht war "ältere Delphi-Version" zu unkonkret; gemeint war Delphi < 2009, eben Nicht-Unicode-Delphis.

Zitat:
Kein Argument.
Das ist kein Argument für diejenigen, die alte Delphis verwenden? Sehr rücksichtsvoll von dir...

Zitat:
Es ist nicht die frage ab welcher Delphi Version sondern die frage steht im Raum warum so eine bescheidene Krankhafte Abwärtskompatibilität.
Wo ist da eine krankhafte Abwärtskompatibilität? Im Gegenteil: Ich find's gut, wenn Code von vor 10 Jahren auch noch in einem aktuellen Delphi läuft. Das funktioniert aber nicht, wenn die Datentypen sich geändert haben, weil man unsauber gearbeitet hat - eine Vermischung von Datentypen ist unsauber.

Zitat:
Warum soll ich also wenn wie im Shot gezeigt bei ShellExecute hier PChar anstelle von PWideChar verwenden?
Solange du den Code nur für dich schreibst oder nur für einen ganz bestimmten Compiler, spielt es keine Rolle. Aber wir sind hier in der Öffentlichkeit, und da ist es immer eine gute Idee, auf andere Rücksicht zu nehmen, und dazu gehören auch Nutzer von Delphi älter 2009. Andererseits müsstest du dir überhaupt keinen Kopf darüber machen, ob nun PChar ein PWideChar ist oder nicht, wenn du einfach den generischen Typ PChar benutzt (außer eben an den Stellen, wo ein expliziter Ansi-/Wide-Typ verlangt wird, was ziemlich selten ist).

Grüße
Dalai
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#36

AW: ShellExecution Brauche Hilfe

  Alt 21. Apr 2019, 00:40
Zitat:
Wo ist da eine krankhafte Abwärtskompatibilität?
Krankhaft weil nur von Delphi Praktiziert.
Mach das mal mit Visual Studio oder einer anderen Programmiersprache.

Mich interessiert nur was meine aktuelle Delphi Version mir vorschreibt.. nicht mehr nicht weniger und das ist nun mal..
Delphi-Quellcode:
function ShellExecute; external shell32 name 'ShellExecuteW';
function ShellExecuteA; external shell32 name 'ShellExecuteA';
function ShellExecuteW; external shell32 name 'ShellExecuteW';
Zitat:
Aber wir sind hier in der Öffentlichkeit, und da ist es immer eine gute Idee, auf andere Rücksicht zu nehmen, und dazu gehören auch Nutzer von Delphi älter 2009.
Selbst wenn ich das würde wird bei ShellExecute in meiner Delphi Version und der des Thread Erstellers trotzdem PWideChar erwartet du kannst da rumreden wie du willst es wird nicht auf ShellExecuteA verzweigt unabhängig davon ob ich jetzt PChar oder PWideChar verwende.
Das sollte jetzt langsam auch dir klar sein.

Aber.. ich könnte PChar verwenden so das auch ältere Versionen mit meinem Source arbeiten könnten aber warum soll ich das tun..
Wenn ich PChar verwende ja dann verzweigt ShellExecute unter älteren Delphi Versionen auf 'ShellExecuteA' aber ich bin nicht dafür zuständig dafür sorge zu tragen
das die Abwärtskompatibilität zu unterschiedlichen Delphi Versionen eingehalten wird. Interessiert mich einfach nicht.

Mehr ist da nicht zu sagen.
Du magst deine Meinung haben dann lebe damit.
Aber wundere dich nicht das diese Diskussion immer wieder aufflammt.

gruss

Geändert von EWeiss (21. Apr 2019 um 01:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.593 Beiträge
 
Delphi 5 Professional
 
#37

AW: ShellExecution Brauche Hilfe

  Alt 21. Apr 2019, 01:16
[OT]

Mach das mal mit Visual Studio oder einer anderen Programmiersprache.
In C++ verwendet man halt z.B. TCHAR, was auch nur ein Alias auf einen konkten Ansi-/Wide-Typ ist. Inwiefern ist das jetzt anders als PChar? Genau, gar nicht.

Zitat:
Aber.. ich könnte PChar verwenden so das auch ältere Versionen mit meinem Source arbeiten könnten aber warum soll ich das tun..
Wenn ich PChar verwende ja dann verzweigt ShellExecute unter älteren Delphi Versionen auf 'ShellExecuteA' aber ich bin nicht dafür zuständig dafür sorge zu tragen
das die Abwärtskompatibilität zu unterschiedlichen Delphi Versionen eingehalten wird. Interessiert mich einfach nicht.
Ich kann mich nur wiederholen: Sehr rücksichtsvoll von dir... Mit der Einstellung wirst du kaum lange in einem Team arbeiten, vermute ich mal...

Zitat:
Du magst deine Meinung haben dann lebe damit.
Das hat nicht nur mit Meinung zu tun sondern auch mit den von dir so geliebten Fakten. Zu diesen Fakten gehört es nämlich auch, dass es Nicht-Unicode-Delphis gibt, und wenn man Code für andere oder zusammen mit anderen oder für die Öffentlichkeit schreibt, hat man das unter Umständen zu berücksichtigen.

Gerade Programmieranfänger sollte man auf solche Fallstricke aufmerksam machen, damit sie im Idealfall Anfängerfehler vermeiden. So schwer ist das nun wirklich nicht zu verstehen.

[/OT]

Grüße
Dalai
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#38

AW: ShellExecution Brauche Hilfe

  Alt 21. Apr 2019, 01:37
Um das abzuschließen du kennst meine Meinung.. deine Ausflüche können mich nicht überzeugen.
Ich arbeite mit D2010 alles andere ist Nebensache.

Nutzt jemand meinen Source dann muss er die Kompatibilität zu seiner Delphi Version selbst herstellen.
Was ist da so schwierig?

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#39

AW: ShellExecution Brauche Hilfe

  Alt 21. Apr 2019, 06:25
Jetzt ist es aber gut, ihr beiden. Bitte beendet eure Diskusion hier. Eure Standpunkte habt ihr klar gemacht und so langsam scheint es persönlich zu werden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#40

AW: ShellExecution Brauche Hilfe

  Alt 21. Apr 2019, 10:34
Jetzt ist es aber gut, ihr beiden. Bitte beendet eure Diskusion hier. Eure Standpunkte habt ihr klar gemacht und so langsam scheint es persönlich zu werden.
War ja dabei!
Zitat:
Um das abzuschließen
Es ist nur seltsam das Leute die Heute noch mit Delphi5 arbeiten von anderen die mit der Zeit gehen erwarten das man doch bitte schön Abwärtskompatibilität einhalten soll.
Warum? Ich unterstütze auch kein Windows31, Windows for Worksgroup, XP mehr wenn ich neuere Software entwickle.

gruss
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 10:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf