Thema: Delphi API in Unit nutzen?

Einzelnen Beitrag anzeigen

moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

API in Unit nutzen?

  Alt 26. Mär 2009, 13:23
Moin !

Ich habe eine Unit in der ich eine Klasse definiert habe:
Delphi-Quellcode:
unit Transe;

interface

Uses Windows, Messages, SysUtils, Variants, Classes,
     {Winsock, WinInet,} ShellAPI, Dialogs, Forms, TypInfo,
     
     OmniXML, OmniXMLUtils;

type
  TTranslate = class(TPersistent)
    public
      xmlDoc : IXMLDocument;
      RootElement : IXMLElement;

      LangDir : String;
      LangFile : String;
      Language : Boolean;

      constructor Create(Directory : String); //(Owner: TObject);

      function GetUserLanguageID : Integer; // Benutzer Sprache für Menüs etc.
      function GetSystemLanguageID : Integer; // Install Sprache

      // übersetzt ein komplettes Formular
      procedure TranslateForm (Form : TForm);
      // übersetzt eine Caption bzw. einen Text
      procedure TranslateText (Component, Prop : String);
 
      function TransString (Identifier, Default : String) : String;
      function TransMultiLine(Identifier, Default : String) : String; // CData für mehrzeilige Sachen

      procedure ReadForm (Form : TForm);
    private
      // Sucht eine Komponente auf einer Form
      function FindComponentEx(const Name: string): TComponent;
    protected

    end;

implementation
...
Soweit ... Nun habe ich da zwei DLL Aufrufe die ich bräuchte:
Delphi-Quellcode:
{$EXTERNALSYM GetSystemDefaultUILanguage}
function GetSystemDefaultUILanguage: LANGID; stdcall;

{$EXTERNALSYM GetUserDefaultUILanguage}
function GetUserDefaultUILanguage: LANGID; stdcall;
Wenn ich das aber über implementation einfüge bekomme ich:
[DCC Fehler] Transe.pas(48): E2065 Ungenügende Forward- oder External-Deklaration: 'GetSystemDefaultUILanguage'

Wo ist denn da gerade mein Denk- / Tipp-fehler?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat