Eddy1805 Geschrieben 28. September 2007 Geschrieben 28. September 2007 Hallo, ich bin neu hier und bräuchte einwenig Hilfe. Also, es geht um folgendes. Ich mache grad ein Projekt für die Schule und ich möchte eine Relaiskarte mit einem kleinen Programm ansteuern. Mein Problem ist, dass mein Programmcode die DLL nicht findet. Hab mal ein Screenshot gemacht(als Anhang).Kann das vielleicht an der Office Version hängen? Bin für jede Antwort schon mal im vorraus dankbar. Zitieren
Amstelchen Geschrieben 1. Oktober 2007 Geschrieben 1. Oktober 2007 mattuserusb.dll klingt für mich nach einer nicht unbedingt mit office oder windows mitgelieferten DLL - ist das diejenige, die du selbst erstellt hast? du hast schon nachgesehen, ob die DLL als add-in oder über API-aufruf geladen wird und der versuch fehlschlägt? wie sehen die *relevanten* codezeilen aus, über die du die DLL einbindest? irgendwo sagst du ja deinem VBA modul sicherlich, dass genau diejenige DLL verwendet werden soll. Kann das vielleicht an der Office Version hängen? IMHO unwahrscheinlich. s'Amstel Zitieren
Eddy1805 Geschrieben 1. Oktober 2007 Autor Geschrieben 1. Oktober 2007 Hallo Amstelchen, danke erst mal für deine Hilfe. Nein die dll Datei habe ich nicht selbst erstellt, die war bei der Relaiskarte dabei. Und wo kann ich das nach lesen ob die DLL als add-in oder über API-aufruf geladen wird? Declare Sub setrelais Lib "mattuserusb.dll" (ByVal ch As Byte) Declare Function getrelais Lib "mattuserusb.dll" () As Integer Zitieren
Amstelchen Geschrieben 1. Oktober 2007 Geschrieben 1. Oktober 2007 Und wo kann ich das nach lesen ob die DLL als add-in oder über API-aufruf geladen wird? das zeigt dir dein codeausschnitt. Declare ... Lib ... ist der aufruf, um in der mattuserusb.dll ausgelagerte funktionen einzubinden. ich vermute jetzt nur mehr, dass deine datei *nicht* in einem der verzeichnisse liegt, in dem sie gesucht wird, darunter %SYSTEMROOT% und/oder %SYSTEMROOT%\system32. kopier sie mal dorthin und berichte. s'Amstel Zitieren
Eddy1805 Geschrieben 1. Oktober 2007 Autor Geschrieben 1. Oktober 2007 ja das hatte ich schon im System32 probiert aber er bringt immer den gleichen Fehler. Ich habe auch schon mit dem Hersteller der Karte telefoniert und ihm mein Test-Code zugeschikt und bei ihm funktioniert alles! (mit office 2002) wobei ich es schon mit allen Versionen versucht habe. Zitieren
Amstelchen Geschrieben 2. Oktober 2007 Geschrieben 2. Oktober 2007 ist dein systemroot bzw. dein system32 im PATH gespeichert? hast du versucht, bei der angabe der DLL den speicherpfad anzugeben? s'Amstel Zitieren
Eddy1805 Geschrieben 2. Oktober 2007 Autor Geschrieben 2. Oktober 2007 sorry was ist ein PATH?(kenne mich nicht soo gut aus) Ja den Speicherpfad habe ich auch schon probiert anzugeben! Zitieren
Amstelchen Geschrieben 2. Oktober 2007 Geschrieben 2. Oktober 2007 dein systempfad, in dem ausführbare dateien gesucht werden. wenn du auf der kommandozeile "echo %PATH%" oder "set" eingibst, wirst du wissen, was ich meine. s'Amstel Zitieren
Eddy1805 Geschrieben 4. Oktober 2007 Autor Geschrieben 4. Oktober 2007 in welcher Komandozeile???:upps Zitieren
Amstelchen Geschrieben 4. Oktober 2007 Geschrieben 4. Oktober 2007 deine eingabeaufforderung, der prompt, die shell. start > ausführen: cmd start > programme > zubehör > eingabeaufforderung c:\windows\system32\cmd.exe s'Amstel Zitieren
Eddy1805 Geschrieben 4. Oktober 2007 Autor Geschrieben 4. Oktober 2007 cool das war schnell. und was kann ich jetzt hier rauslesen? Zitieren
Amstelchen Geschrieben 4. Oktober 2007 Geschrieben 4. Oktober 2007 dein systempfad, in dem ausführbare dateien gesucht werden. soll heissen, wie oben beschrieben, schau nach, ob die DLL in der system32 auch gesucht wird, nachdem du sie dort hineinkopiert hast. s'Amstel Zitieren
Eddy1805 Geschrieben 4. Oktober 2007 Autor Geschrieben 4. Oktober 2007 ja das system32 ist im PATH gespeichert! Zitieren
Amstelchen Geschrieben 4. Oktober 2007 Geschrieben 4. Oktober 2007 ok. zwei alternative wege/ideen: - du lädtst dir dependency walker und lässt die excel.exe durch den profiler laufen. fehlende verweise auf die DLL werden im log angezeigt. - ist die DLL überhaupt über API aufrufbar? hast du dazu die dokumentation konsultiert? denn möglicherweise ist das eine activex-DLL und sie mus in der liste der verweise eingebunden werden. s'Amstel Zitieren
Eddy1805 Geschrieben 4. Oktober 2007 Autor Geschrieben 4. Oktober 2007 -wie kann ich die DLL über API abrufen? -bei diesem Programm bringt er mir den Fehler:NO DOS or PE signature found. This file is not a valid 32-bit or 64-bit Windows module. -wie kann ich die dokumentation konsultieren? Zitieren
Eddy1805 Geschrieben 4. Oktober 2007 Autor Geschrieben 4. Oktober 2007 ich habe es jetzt hinbekommen, aber nur auf meinem anderen rechner bei dem ich mittlerweile alle Office versionen probiert habe und bei der Xp Version gehts aufeinmal:upps Hab ich jetzt die möglichkeit das es auch mit Office 2003 läuft? Zitieren
Amstelchen Geschrieben 4. Oktober 2007 Geschrieben 4. Oktober 2007 -wie kann ich die DLL über API abrufen? das tust du ja was ich so gesehen habe bereits. woher hast du den aufruf, stand der in einer README? -bei diesem Programm bringt er mir den Fehler:NO DOS or PE signature found. This file is not a valid 32-bit or 64-bit Windows module. welche datei hast du im DW geladen? wenn du die DLL profilest, und das ist eine 16bit-DLL, kann das schon vorkommen. das wäre dann z.t. auch die erklärung, warum sie windows nicht finden kann. -wie kann ich die dokumentation konsultieren? ich hab mich wohl unklar ausgedrückt. ich meinte die der DLL bzw. der relaiskarte beigepackte anleitung, diskette, README, wasauchimmer. mühsam ernährt sich das eichhörnchen. s'Amstel Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.