Einzelnen Beitrag anzeigen

Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#10

Re: Erklärung zu Code gesucht...

  Alt 16. Nov 2006, 18:41
Delphi-Quellcode:
library SysCtrl;

{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der
  ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
  Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
  Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle
  Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die
  sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur
  Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL.
  Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-
  Informationen als PChar- oder ShortString-Parameter übergeben. }



uses
  ShareMem,
  Windows,
  Registry,
  SysUtils,
  Dialogs,
  Classes,
  ShellAPI;

{$R *.res}

function GetWinDir(): PChar; stdcall;
begin
  // Reserviere direkt im Ergebnis den Speicherplatz für die Ausgabe der API-Funktion
  SetLength(Result, MAX_PATH);
  // Die API-Funktion füllt das Ergebnis und gibt die Länge zurück
  SetLength(Result, GetWindowsDirectory(PChar(Result), Length(Result)));
end;

exports
  GetWinDir;

begin
end.
Zitat von Compiler:
[Fehler] SysCtrl.dpr(28): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
[Fehler] SysCtrl.dpr(30): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
Das sagt er bei mir. Delphi 7 Enterprise WindowsXP Prof.
  Mit Zitat antworten Zitat