Ich sitze hier vor meinem neuen K8055 Experimentierboard, und irgendwie will das ganze nicht so wie ich will. Die Demoprogramme habe ich installiert, undd ie funktionieren auch, damit kann ich alles wunderbar ansteuern. Wenn ich dann aber in Visual Basic anfange zu programmieren, dann gibt er mir eine Fehlermeldung aus, dass er das Programm so nicht fertigstellen kann. Er bricht also nicht beim Ausführen, sondern noch davor ab. Die Fehlermeldung sieht so aus: 1. ******* Error 1 The "ResolveManifestFiles" task failed unexpectedly. System.ArgumentException: Illegal characters in path. at System.Security.Permissions.FileIOPermission.HasIllegalCharacters(String [] str) at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissio nAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList) at System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAcces s access, String[] pathList, Boolean checkForDuplicates, Boolean needFullPath) at System.IO.Path.GetFullPath(String path) at Microsoft.Build.Tasks.Deployment.ManifestUtilities.Util.RemoveDuplicateI tems(ITaskItem[] items) at Microsoft.Build.Tasks.ResolveManifestFiles.set_NativeAssemblies(ITaskIte m[] value) K8055 testprogramm ******** 2. ******** Error 2 The "NativeAssemblies=@(NativeReferenceFile);@(_DeploymentNativePrerequisite )" parameter for the "ResolveManifestFiles" task is invalid. K8055 testprogramm ******** 3. ******** Error 3 The "ResolveManifestFiles" task could not be initialized with its input parameters. K8055 testprogramm ******** Die k8055d.dll befindet sich im Projektordner. Das Programm habe ich nach Informationen, wie ich sie im Netz gefunden habe gemacht, mehrere Quellen haben das so als lauffähiges Programm angegeben. Es ist sehr simpel, da es erstmal nur zum test dienen soll, ob das so klappt: Public Class Form1 ' k8055.dll declarations... Private Declare Function OpenDevice Lib "k8055d.dll" (ByVal CardAddress As Integer) As Integer Private Declare Sub CloseDevice Lib "k8055d.dll" () Private Declare Function ReadAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Integer Private Declare Sub ReadAllAnalog Lib "k8055d.dll" (ByRef Data1 As Integer, ByRef Data2 As Integer) Private Declare Sub OutputAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer, ByVal Data As Integer) Private Declare Sub OutputAllAnalog Lib "k8055d.dll" (ByVal Data1 As Integer, ByVal Data2 As Integer) Private Declare Sub ClearAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub SetAllAnalog Lib "k8055d.dll" () Private Declare Sub ClearAllAnalog Lib "k8055d.dll" () Private Declare Sub SetAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub WriteAllDigital Lib "k8055d.dll" (ByVal Data As Integer) Private Declare Sub ClearDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub ClearAllDigital Lib "k8055d.dll" () Private Declare Sub SetDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub SetAllDigital Lib "k8055d.dll" () Private Declare Function ReadDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Boolean Private Declare Function ReadAllDigital Lib "k8055d.dll" () As Integer Private Declare Function ReadCounter Lib "k8055d.dll" (ByVal CounterNr As Integer) As Integer Private Declare Sub ResetCounter Lib "k8055d.dll" (ByVal CounterNr As Integer) Private Declare Sub SetCounterDebounceTime Lib "k8055d.dll" (ByVal CounterNr As Integer, ByVal DebounceTime As Integer) Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load OpenDevice(3) SetAllDigital() CloseDevice() End Sub End Class Ich hoffe mir kann da jemand helfen, ich würde gerne anfangen damit rumzuprogrammieren. Gruß, Paul
hi, ich hab zwar diese Karte bis jetzt nur in VB6 angesprochen, aber probier mal folgendes: führe die funktionen OpenDevice(3), SetAllDigital(), CloseDevice() nicht im FormLoad aus, sondern platziere einen Button auf die Form und mach das ganze beim "Button Click". Da siehst du schon mal, ob deine Anwendung überhaupt startet. Wenn nicht, dann mach ein neues Projekt. das sollte ansich schon mal laufen. Dann nach und nach den code reinschreiben und immer wieder starten. dann siehst du, an welcher stelle es kracht. Ach ja, bist du dir sicher, das du die Cardadress 3 öffnen willst(kannst)? Schau mal im Demoprogramm nach, da wird angezeigt, welche Cardadress verwendet wird. Vieleicht liegt da ja schon der Fehler. Viel erfolg thomas
Der Tipp mit dem neuen Projekt hat geholfen. Das ist zwar mit dem Programm davor zu 100% identisch, aber jetzt läuft es. Sehr merkwürdig. Vielen Dank
Man muss nicht unbedingt vorher gucken welche CardAdress die Richtige ist. Einfach über ne Schleife ansteuern: dim z as integer for z = 0 to 3 opendevice(z) next z oder wenn man es anzeigen lassen will: for z = 0 to 3 if opendevice(z)=z then MsgBox(z) next z
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.