Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
Delphi XE7 Architect
|
Re: Erklärung zu Code gesucht...
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.
|
|
Zitat
|