Hallo Wolfgang,
den Rückgabewert logic hatte ich schon eingebaut, trotzdem kommt der Fehler!
Array mit Prozessen
Moderator: wriedmann
-
- Posts: 774
- Joined: Wed May 17, 2017 8:50 am
- Location: Germany
Delegates
Jungs,
Ich krieg das nur zum laufen wenn ich die Signature anpasse:
Gruß
Karl-Heinz
Ich krieg das nur zum laufen wenn ich die Signature anpasse:
Code: Select all
DELEGATE EnumWindowsProc_delegate( hWnd AS PTR, aWindows AS IntPtr ) AS LOGIC // anstelle "aWindows AS ARRAY"
Karl-Heinz
-
- Posts: 774
- Joined: Wed May 17, 2017 8:50 am
- Location: Germany
Delegates
Fast zeitgleich - als ob es abgesprochen gewesen wäreSHirsch wrote:Hallo
der DELEGATE hat eine andere Signatur als die FUNCTION
Der zweite Parameter ist im DELEGATE ARRAY und in der FUNCTION IntPtr.
Diese müssen gleich sein. Bei Wolfgang ist das IntPtr
Stefan
Delegates
Was vielleicht damit zusammenhängt: (MS) "Nach Instanziierung eines Delegaten können Sie die Instanz mit einer beliebigen Methode verknüpfen, die eine kompatible Signatur und einen kompatiblen Rückgabetyp aufweist."
Ich lese mal kompatibel = "gleich" - also nicht nur Param-typen sondern eben auch der Rückgabetyp muß übereinstimmen...
Ich lese mal kompatibel = "gleich" - also nicht nur Param-typen sondern eben auch der Rückgabetyp muß übereinstimmen...
Regards
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Delegates
Hi Karl
ich hab mal mit meinen nicht vorhandenen C# Kenntnissen versucht, die FileSystemWatcher Class umzusetzen, was natürlich nicht gelungen ist
Es kommen Fehler wie
XS0246: Type or namespace 'oFileSystemWatcher" could not be found
XS0118: 'e' and 'reader' is a variable but is declared like a type
Was mache ich da falsch?
ich hab mal mit meinen nicht vorhandenen C# Kenntnissen versucht, die FileSystemWatcher Class umzusetzen, was natürlich nicht gelungen ist
Code: Select all
USING System
USING System.IO
USING System.Text
USING System.Threading
CLASS FileInputMonitor
PROTECT oFileSystemWatcher AS FileSystemWatcher
PROTECT cfolderToWatchFor := "C:TMP" AS STRING
CONSTRUCTOR()
oFileSystemWatcher := FileSystemWatcher{cfolderToWatchFor}
oFileSystemWatcher.EnableRaisingEvents := TRUE
// Instruct the file system watcher to call the FileCreated method
// when there are files created at the folder.
oFileSystemWatcher.Created += FileSystemEventHandler{FileCreated}
RETURN SELF
METHOD FileCreated(osender AS OBJECT, e AS FileSystemEventArgs) AS VOID PASCAL
IF Right(Upper(e.Name),4) == ".PRN"
ProcessFile(e.FullPath)
ENDIF
RETURN SELF
METHOD ProcessFile(fileName AS STRING) AS VOID PASCAL
LOCAL inputFileStream AS FileStream
LOCAL reader AS StreamReader
DO WHILE TRUE
TRY
inputFileStream := FileStream{fileName, FileMode.Open, FileAccess.ReadWrite}
reader := StreamReader{inputFileStream}
Console.WriteLine(reader.ReadToEnd())
// Break out from the endless loop
BREAK
CATCH e AS exception
// Sleep for 3 seconds before trying
Thread.Sleep(3000)
END TRY
ENDDO
RETURN SELF
END CLASS
XS0246: Type or namespace 'oFileSystemWatcher" could not be found
XS0118: 'e' and 'reader' is a variable but is declared like a type
Was mache ich da falsch?