Hallo zusammen,
ich möchte mit einem Event zwei Parameter übergeben
type
TFindFiles = class;
TOnFindFile = procedure(Sender: TFindFiles, Filename: string) of object;
und erhalte die Fehlermeldung: Syntax error, ")" expected but "," found.
Meines Wissens kann ich mehrere Parameter über geben, was habe ich falsch gemacht?
Danke Euch schon mal
Dieter
zwei Parameter bei Event übergeben
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: zwei Parameter bei Event übergeben
Bitte zeige alle relevanten Teile des Programmtextes.
Re: zwei Parameter bei Event übergeben
Ich hoffe das sind die relevanten Teile:
Code: Alles auswählen
type
TFindFiles = class;
TOnFindFile = procedure(Sender: TFindFiles, Filename: string) of object;
TOnDirectoryFind = procedure(Sender: TFindFiles, Directory: string) of object;
TFindFiles = class(TObject)
private
FSubfolders: Boolean;
FMask: string;
FFileInfo: TWin32FindData;
FOnFindFile: TOnFindFile;
FOnFindDirectory: TOnDirectoryFind;
public
constructor Create;
procedure Find(RootFolder: string);
property SubFolders: Boolean read FSubFolders write FSubFolders;
property Mask: string read FMask write FMask;
property FileInfo: TWin32FindData read FFileInfo;
property OnFileFind: TOnFindFile read FOnFindFile write FOnFindFile;
property OnDirectoryFind: TOnDirectoryFind read FOnFindDirectory write FOnFindDirectory;
end;
try
repeat
if wfd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY =
FILE_ATTRIBUTE_DIRECTORY then
if (string(wfd.cFileName) <> '.') and (string(wfd.cFileName) <> '..') then
begin
FFileInfo := wfd;
if Assigned(OnDirectoryFind) then
OnDirectoryFind(TFindFiles, RootFolder + wfd.cFileName);
Find(RootFolder + wfd.cFileName);
end;
until FindNextFile(hFile, wfd) = False;
finally
windows.FindClose(hFile);
end;
end;
hFile := FindFirstFile(PChar(RootFolder + Self.Mask), wfd);
if hFile <> INVALID_HANDLE_VALUE then
try
repeat
if wfd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY <>
FILE_ATTRIBUTE_DIRECTORY then
begin
FFileInfo := wfd;
if Assigned(OnFileFind) then
OnFileFind(TFindFiles, RootFolder + wfd.cFileName);
end;
until FindNextFile(hFile, wfd) = False;
finally
Windows.FindClose(hFile);
end;
Zuletzt geändert von Lori am Mo 12. Jan 2015, 17:50, insgesamt 1-mal geändert.
Grund: Highlighter
Grund: Highlighter
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: zwei Parameter bei Event übergeben
Der "relevante Teil" war bereits im ersten Beitrag, sorry.
Procedureparameter werden bei der Definition durch ";" getrennt nicht ",".

Code: Alles auswählen
TOnFindFile = procedure(Sender: TFindFiles; Filename: string) of object;
Re: zwei Parameter bei Event übergeben
Danke Dir. Nun wird es fehlerfrei übersetzt. Mal testen ob es so funktioniert wie ich das möchte.
Einen schönen Sonntag
Einen schönen Sonntag