AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Shellapi.pas Updates Downloaden?
Thema durchsuchen
Ansicht
Themen-Optionen

Shellapi.pas Updates Downloaden?

Ein Thema von Schaedel · begonnen am 16. Feb 2007 · letzter Beitrag vom 16. Feb 2007
Antwort Antwort
Benutzerbild von Schaedel
Schaedel

Registriert seit: 5. Jan 2006
Ort: Saarland
174 Beiträge
 
Delphi 2007 Professional
 
#1

Shellapi.pas Updates Downloaden?

  Alt 16. Feb 2007, 13:52
Hallo Narrenvolk

Ich hab mir die neuen Funktionen der Shellapi mal angeschaut und so einiges gefunden was mir weiterhelfen könnte.
Nur finde ich kein "Update" oder Downloadlink zu der "neuen" Version.

Kann man die überhaupt runterladen?
Muss man die kaufen?

Ich steh echt im Wald

danke schonmal für die Antworten...
Michael S.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Shellapi.pas Updates Downloaden?

  Alt 16. Feb 2007, 13:58
Huch ... was genau hast Du Dir denn angesehen? Die Datei "Shellapi" ist Teil des jeweiligen BDS und ist separat alleine für sich nicht erhältlich.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Schaedel
Schaedel

Registriert seit: 5. Jan 2006
Ort: Saarland
174 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Shellapi.pas Updates Downloaden?

  Alt 16. Feb 2007, 14:10
Hallo,

ich hab in einer aktullen Shellapi das Flag " FOF_NOCOPYSECURITYATTRIBS " gefunden.
Das möchte ich gern nutzen... nur kennt meine API dieses Flag nicht.
Kann ich das einfach "reintippen" in dem ich die Regeln dort beachte?

In der Shell32.dll müsste es vorhanden sein, oder wie funktioniert das?

Danke
Michael S.
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Shellapi.pas Updates Downloaden?

  Alt 16. Feb 2007, 14:14
Zitat von Schaedel:
ich hab in einer aktullen Shellapi das Flag " FOF_NOCOPYSECURITYATTRIBS " gefunden.
Das möchte ich gern nutzen... nur kennt meine API dieses Flag nicht.
dann schau mal hier: http://search.msdn.microsoft.com/sea...ECURITYATTRIBS
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.641 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Shellapi.pas Updates Downloaden?

  Alt 16. Feb 2007, 14:14
Funktionen aus einer DLL kannst Du Dir natürlich auch selbst, ohne Shellapi.pas, importieren. Konstanten definierst Du entsprechend der API-Dokumentation.
Sven Harazim
--
  Mit Zitat antworten Zitat
Mena

Registriert seit: 7. Mai 2004
Ort: Wiltingen
9 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: Shellapi.pas Updates Downloaden?

  Alt 16. Feb 2007, 14:30
Der Schaedel musste weg, daher frag ich jetzt weiter:

Also, dass es das Flag FOF_NOCOPYSECURITYATTRIBS gibt haben wir bei Microsoft entdeckt. Es ist genau das, was wir brauchen, um via SHFILEOPSRUCT ein Verzeichnis samt Inhalt zu verschieben. Leider kopiert das SHFILEOPSTRUCT dabei auch die Berechtigungen, die auf der Datei liegen, mit. Das führt dazu, dass ein Anwender in das neue Verzeichnis sehen kann, die dort liegende Datei aber nicht öffnen darf. Nicht gut.

Ein Blick in unsere ShellApi.pas fördert 11 Flags zutage, von FOF_MULTIDESTFILES = $0001 bis FOF_NOERRORUI = $0400. Wir wollen aber FOF_NOCOPYSECURITYATTRIBS, das lt. MSDN $0800 sein soll.

Wie kommen wir da dran? Selber reinschreiben? Wenn ja, wie und wo überall? Wenn nein, wie dann? Wie importiert man Funktionen und Konstanten aus einer dll?

Ich verdiene seit fast 8 Jahren meinen Lebensunterhalt mit Programmierung, aber das ist mir noch nicht untergekommen...


Grüße von Mena
Ich muss nicht alles wissen, aber ich kann alles lernen.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Shellapi.pas Updates Downloaden?

  Alt 16. Feb 2007, 14:44
Ach, die Konstanten kannst Du Dir natürlich selbst definieren. Den Wert kannst Du ja aus MSDN übernehmen. Innerhalb Deiner Delphi-Anwendung muss diese Konstante dort verfügbar sein, wo sie im Rahmen der Deiner Anwendung an die API-Funktion übergeben wird (also wie jede andere Konstante auch).
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Shellapi.pas Updates Downloaden?

  Alt 16. Feb 2007, 14:44
Moin Mena,

Zitat von Mena:
Wie kommen wir da dran? Selber reinschreiben? Wenn ja, wie und wo überall? Wenn nein, wie dann?
Die API-Deklarationen, die bei Delphi mitgeliefert werden, sind nun einmal nicht komplett.
Teilweise, weil es sie zum Zeitpunkt der Auslieferung noch nicht gab, teilweise weil sie für verschiedene OS-Schienen unterschiedlich deklariert werden müssten, teilweise... weiss nicht warum

Da man als nicht C-Nutzer nicht direkt die Header-Dateien und Libraries des PSDK nutzen kann, bleibt einem dann nichts weiter übrig, als das alles selber zu deklarieren.
Ob Du das nun je Datei, in der Du es brauchst einzeln machst (unpraktisch ) oder Dir selber passende Bibliotheken/Units anlegst, in denen Du Deine Deklarationen dann zentral zur Verfügung hast, bleibt natürlich Dir überlassen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Shellapi.pas Updates Downloaden?

  Alt 16. Feb 2007, 14:47
Borland hinkt der Windows API immer ein "bisschen" hinterher.
Je älter die Delphi Version, umso älter sind die Units über die die Windows API DLL eingebunden werden.
Es gibt 3 Lösungen:
a) auf neuere Delphi Version umsteigen
b) kleinere Probleme durch eigene Deklarationen ausbessern
c) Verwendung von der Jedi API Library (Ziemlich vollständige Umsetzung, aber doch recht umfangreich)

Für dein Problem scheint mir doch b) am Besten:
Delphi-Quellcode:
const
{$EXTERNALSYM FOF_NOCOPYSECURITYATTRIBS}
FOF_NOCOPYSECURITYATTRIBS =$0800;
Andreas
  Mit Zitat antworten Zitat
Mena

Registriert seit: 7. Mai 2004
Ort: Wiltingen
9 Beiträge
 
Delphi 5 Enterprise
 
#10

Re: Shellapi.pas Updates Downloaden?

  Alt 16. Feb 2007, 15:29
Vielen Dank an Euch alle!

Es klappt!
Ich habe mir das FOF_NOCOPY(unaussprechliche Ding) zwar global aber in der Unit, in der ich es aufrufe definiert (so wie shmia es vorgemacht) hat und einfach benutzt und siehe da, es funktioniert! (Und begriffen habe ich es auch!)


Klasse, wieder was dazugelernt.

Grüße von Mena
Ich muss nicht alles wissen, aber ich kann alles lernen.
  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 14:27 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