Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#8

Re: Übersetzung von GetSystemDefaultLocaleName von C nach De

  Alt 29. Jul 2007, 07:31
Delphi-Quellcode:
function GetSystemLocaleName : string;
var
  DLLWnd :THandle;
  localeString : LPWStr;
  GetSystemDefaultLocaleName : function(const lpLocaleName : LPWStr;
                                        cchLocaleName : integer): integer; stdcall;
begin
  Result := '';
  DLLWnd := LoadLibrary(kernel32); // <-<< als constante und nicht als String
  if DLLWnd > 0 then // ala 'kernel32' sondern denn dann
  begin // LoadLibrary('kernel32.dll')
    try
      @GetSystemDefaultLocaleName := GetProcAddress(DLLWnd, 'GetSystemDefaultLocaleName');

      if @GetSystemDefaultLocaleName <> nil then
      begin
        localeString := AllocMem(1024);
        if GetSystemDefaultLocaleName(localeString, 1024) > 0 then
        Begin
          Result := string(localeString); // <-<< localeString ist doch ein
         End; // PWideChar also Unicode... *grübel*
      end else
        MessageBox(Application.Handle, 'Failed to perform GetSystemDefaultLocaleName.',
          PChar(Application.Title), MB_ICONERROR or MB_OK);

    finally
      FreeLibrary(DLLWnd);
    end;
  end;
end;
Ich habe mal nachgeschaut, bei meinem XP / SP1 gibt es keine Funktion "GetSystemDefaultLocaleName"
in der Kernel32.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat