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.