AGB  ·  Datenschutz  ·  Impressum  







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

cmd mit Befehl

Offene Frage von "Rotojoto"
Ein Thema von fLaSh11 · begonnen am 17. Jan 2006 · letzter Beitrag vom 16. Feb 2006
Antwort Antwort
Seite 2 von 2     12   
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#11

Re: cmd mit Befehl

  Alt 16. Feb 2006, 21:46
Zitat:
Mir geht es darum, dass ich das 'ShellExecute' ja bevor ich mit dem eigentlichen Code anfange deklarieren muss.
Seit wann das?

Zitat:
Wenn ich 'ShellExecute' nicht als Funktion deklariere, ist die Fehlermeldung
unbekannte Funktion. D.h. ich muss es am Anfang als Funktion deklarieren.
Wenn du das so machst, deklarierst du eine neue Funktion, die, wenn du das nicht selbst so programmierst, gar nix macht, und schon gar nix auszuführt...

Schon mal das probiert:
Delphi-Quellcode:
uses
  ShellAPI;
Könnte helfen.

Trotzdem nochmal ne Antwort auf deine Frage:
Welchen Typ welcher Parameter hat, kannst du im PSDK nachgucken. Das wären in dem Fall:
'open' = PChar
nil = Pointer(0) = PChar('')
SW_SHOW Integer(oder cardinal? ; müsst ich jetzt auch nachgucken)

PChar ist n Pointer auf n Null-Terminierten string im Speicher, deshalb gilt: nil = Pointer(0) = PChar(''). Warum muss man nun PChar nehmen und kann keine strings verwenden? C++ kennt keine strings(jedenfalls nicht so, wie wir die kennen). D.h. man muss sich n string selbst "nachbauen", als n Pointer, der auf ne Stelle im Arbeitsspeicher zeitgt. Findet man irgendwo dann n #0(ASCII-Zeichen), gilt der string da als "terminated" --> Stringende...
Da ShellExecute ne WinAPI-Funktion ist und die WinAPI in C/C++ geschrieben ist, muss man eben konvertieren...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#12

Re: cmd mit Befehl

  Alt 16. Feb 2006, 22:39
Zitat von r2c2:
SW_SHOW Integer(oder cardinal? ; müsst ich jetzt auch nachgucken)
Schauen wir mal kurz auf die von mir verlinkte Seite.
Zitat:
ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
Ein Handle, vier nullterminierte Strings - PChar und ein Integer. Für den Integerwert kann man auch Konstanten einsetzen.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  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 09:36 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 by Thomas Breitkreuz