Ich verwende eine SCADA -Software (Aveva Intouch HMI), die das Import von .NET -Bibliotheken als .dll -Dateien unterstützt, um schnellere benutzerdefinierte Funktionen in ihrer Skriptumgebung zu verwenden (ich glaube, sie unterstützen vb.net; Ich habe C# verwendet und es in eine .NET -DLL -Bibliothek zusammengestellt. Es funktioniert einwandfrei, bis ich versuche, dieselbe Datei zu lesen, die die SCADA -Laufzeit verwendet, um historische Daten zu protokollieren. Sobald die SCADA -Software nicht mehr in dieser Datei angemeldet ist, kann ich auf ihre Inhalte zugreifen und lesen. Das Seltsame ist jedoch, dass ich dieselbe Datei mit Notepad (einem externen Prozess) öffnen kann. Aber wenn ich versuche, es mit einem ausgelösten Skript aus der SCADA -Laufzeit selbst zu öffnen, erhalte ich die folgende Ausnahme: < /p>
Der Vorgang kann nicht auf die Datei zugreifen, da er von einem anderen Vorgang verwendet wird. Gibt es eine Problemumgehung? Ich muss diese Datei mit meinen externen Bibliotheken öffnen, um eine kritische Analyse durchzuführen. Wenn ich jedoch versuche, es aus einem ausgelösten Skript zu öffnen - zum Beispiel durch Klicken auf einen Pushbutton -, wird eine Ausnahme ausgelöst. < /P>
Ich verwende eine SCADA -Software (Aveva Intouch HMI), die das Import von .NET -Bibliotheken als .dll -Dateien unterstützt, um schnellere benutzerdefinierte Funktionen in ihrer Skriptumgebung zu verwenden (ich glaube, sie unterstützen vb.net; Ich habe C# verwendet und es in eine .NET -DLL -Bibliothek zusammengestellt. Es funktioniert einwandfrei, bis ich versuche, dieselbe Datei zu lesen, die die SCADA -Laufzeit verwendet, um historische Daten zu protokollieren. Sobald die SCADA -Software nicht mehr in dieser Datei angemeldet ist, kann ich auf ihre Inhalte zugreifen und lesen. Das Seltsame ist jedoch, dass ich dieselbe Datei mit Notepad (einem externen Prozess) öffnen kann. Aber wenn ich versuche, es mit einem ausgelösten Skript aus der SCADA -Laufzeit selbst zu öffnen, erhalte ich die folgende Ausnahme: < /p>
Der Vorgang kann nicht auf die Datei zugreifen, da er von einem anderen Vorgang verwendet wird. Gibt es eine Problemumgehung? Ich muss diese Datei mit meinen externen Bibliotheken öffnen, um eine kritische Analyse durchzuführen. Wenn ich jedoch versuche, es aus einem ausgelösten Skript zu öffnen - zum Beispiel durch Klicken auf einen Pushbutton -, wird eine Ausnahme ausgelöst. < /P> [code]/*C# Code:************************************************/
public class IntResult { public string ErrorMessage { get; internal set; } public int Result { get; internal set; } }
public static class LGHFile { // This pattern mark the start of every block in the log file readonly private static byte[] _blockStartPattern = new byte[] { 0xBC, 0x1B, 0x02, 0x00, 0x16, 0x00, 0x00, 0x00, 0x70, 0xB6, 0x32, 0x07, 0x70, 0x33, 0xDC, 0x01};
public static IntResult FindPattern(int startSearch, string path) { IntResult intResult = new IntResult(); intResult.Result = -1; intResult.ErrorMessage = "No Error";
FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
try { byte[] data = new byte[1000000]; fileStream.Read(data, 0, 1000000);
int patternAddress = -1;
for (int i = startSearch; i < data.Length - _blockStartPattern.Length + 1; i++) { bool found = true;
for (int j = 0; j < _blockStartPattern.Length; j++) { if (data[i + j] != _blockStartPattern[j]) { found = false; break; }
Ich verwende eine SCADA -Software (Aveva Intouch HMI), die das Import von .NET -Bibliotheken als .dll -Dateien unterstützt, um schnellere benutzerdefinierte Funktionen in ihrer Skriptumgebung zu...
Gemäß dem Titel habe ich eine Bibliothek von Drittanbietern in Form von DLLs, diese DLLs haben eine Abhängigkeit von Nlog.dll (4.3.5), die ebenfalls geliefert wird. Wenn ich versuche, die Bibliothek...
Vielleicht ist es eine Neulingsfrage, aber ich brauche einige Informationen für das, was ich im Sinn habe. Drittanbieter-App in Facebook? Wie kann ich Text sammeln, der in dieser Leinwand angezeigt...
Ich habe eine C# -Anwendung, in der ich versuche, eine Datei mit einem benutzerdefinierten Dateikopier von einem Ort zu einem anderen zu kopieren (siehe Dateikopie mit Fortschrittsleiste). Hier ist...