Einzelnen Beitrag anzeigen

Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#1

funktion aus fremder *.pas datei

  Alt 16. Jan 2006, 11:05
Moin,

ich habe eine *.pas datei, die einige Funktionen beinhaltet. Nun habe ich diese Datei meinem Projekt hinzugefügt. Ich möchte jetzt gerne die Funktionen nutzen. Dies bezüglich habe ich die Unit in die uses Klausel eingepflegt.

Problem: Trotzdem sag er mir da er die Funktion nicht kennt bzw. undefinierter Bezeichner.

Unit Folder
Code:
unit uFolder;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, shlobj;

implementation

function SelectFolder(root: Integer; Caption: string): string; //Verzeichnis-Öffnen-Dialog-Funktion
var
  bi: TBrowseInfo;
  lpBuffer: PChar;
  pidlPrograms, pidlBrowse: PItemIDList;
begin
  if (not SUCCEEDED(SHGetSpecialFolderLocation(GetActiveWindow, root,
    pidlPrograms))) then
    exit;
  lpBuffer := StrAlloc(MAX_PATH);
  bi.hwndOwner := GetActiveWindow;
  bi.pidlRoot := pidlPrograms;
  bi.pszDisplayName := lpBuffer;
  bi.lpszTitle := PChar(Caption);
  bi.ulFlags := BIF_RETURNONLYFSDIRS;
  bi.lpfn := nil;
  bi.lParam := 0;

  pidlBrowse := SHBrowseForFolder(bi);
  if (pidlBrowse <> nil) then
    if SHGetPathFromIDList(pidlBrowse, lpBuffer) then
      Result := lpBuffer;
  StrDispose(lpBuffer);
end;
Unit Hauptprogramm
Code:
unit uSetup;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, shlobj;

type
  Tfrm_setup = class(TForm)
    ...
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  frm_setup: Tfrm_setup;

implementation

uses uFolder;

{$R *.DFM}

procedure Tfrm_setup.btn_2ksp4Click(Sender: TObject);
begin
 //Übergabe des gewählten Verzeichnisses
 edt_2ksp4.Text := SelectFolder(CSIDL_DRIVES, 'Verzeichnis wählen');
end;

...
Kann mir einer sagen, was noch fehlt, damit es funktioniert?
  Mit Zitat antworten Zitat