Vc++ ->ddl anderen rechner kopiert->laufzeit

hey!
ich hab mal ne frage.
und zwar habe ich mit vc++2008 express eine dll erstellt, die auf dem einen rechner wunderschön funktioniert (man gibt ein paar daten ein und kriegt dann ein ergebnis raus). mit excel eingebunden hat es wunderbar gefunzt.
nun ist das problem, dass ich die dll auf einem anderen rechner kopiert habe, mit genaudemselben exceltool, aber es funktioniert nicht. angeblich ist es der laufzeitfehler 48, dass die dll nicht gefunden werden konnte.
dabei handelt es sich um genau dieselben versionen von excel
auch unter extras->verweise konnte ich keinen unterschied feststellen
egal ob ich nun den absoluten pfad angegeben hatte („C:\windows\system32“) oder nur den namen in der declare function anweisung.

hat jemand eine idee?
vielen dank im voraus

johannes

Hallo!
Ganz einfach: Du hast auf dem anderen Rechner die anderen, von Deiner DLL benötigten Bibliotheken nicht verfügbar.
Deine DLL braucht auf jeden Fall die MSVCRT90.dll auf dem Zielrechner und je nachdem, was Du genau machst, vielleicht noch die passende MFC- und/oder ATL-Version.
Wenn Du mit dem DependencyViewer (u.a. aus dem Platform SDK) die DLL aufmachst, siehst Du recht gut, was Deine DLL noch alles so braucht.

Gruß,
Martin

hey!
anscheinend braucht er exact diese dll…
danke,das hat mich erstmal einen schritt voran gebracht… aber muss ich noch irgendwie diese dll registrieren?
mfg & danke im voraus

Johannes

Hallo nochmal.

Nein, registrieren musst Du nur DLLs mit enthaltenen COM-Objekten.

Die DLL muss in einem Pfad liegen, den Windows standardmäßig durchsucht, z.B. in %WINDIR%\System32.
Generell schadet es nichts, wenn Du Dich mal mit den Details beschäftigst, was beim Laden einer DLL eigentlich passiert. Solche Infos braucht man immer wieder mal.

Gruß,
Martin