Seite 1 von 3

Midas11.dll nicht gefunden?

Verfasst: 04.01.2006 13:18
von Mok
Nein!! Ich bin gerade dabei, ein Spiel zu programmieren, heute, um 11:12:49 den letzten Test abgeschlossen, als da was auf mich wartet: Nun gu - Ich habe [F5] gedrückt und da ist eine Fehlermeldung gekommen

Die Anwendung konnte nicht gestartet werden, weil MIDAS11.DLL nicht gefunden wurde. Neuinstallation der Anwendeung könnte das Problem beheben.

Obwohl ich doch Midas11.dll im Spiele-Ordner habe. Wenn es euch interessiert hier ein Teil der Init()-Befehle

Code: Alles auswählen

...
InitSprite()
InitKeyboard()
InitMouse()
InitSound()
InitModule()
...

Verfasst: 04.01.2006 13:42
von Green Snake
hast du die MIDAS.dll auch im ordner des compilers?

Verfasst: 04.01.2006 20:54
von Tsuki-Namida
@Green Snake
Wenn man eine Externe Datei einbindet muss sie im Projekt Verzeichnis sein und nicht im Compiler Verzeichnis

Anderst ist es wenn man den Pfat der EXE ermittelt und + "Datei.typ" dann muss die Datei im Compiler Ordner sein.

Verfasst: 04.01.2006 21:43
von MVXA
Aber wenn er das Programm startet, dann liegt das Programm im Compiler-
verzeichniss. Und Windows sucht nach den DLLs an ganz bestimmten Orten
bevor es ne Fehlermeldung gibt.

Verfasst: 04.01.2006 22:56
von Tsuki-Namida
wenn man ein Programm schreibt dann macht man es doch so um es einfah zu halten

Code: Alles auswählen

IncludeFile "Datei.typ"
Beim Testen wird automatisch der Datei pfat vom projekt Verzeichnis automatisch eingesetzt.

Verfasst: 04.01.2006 23:40
von ts-soft
Magix-Soft <Kain> hat geschrieben: Beim Testen wird automatisch der Datei pfat vom projekt Verzeichnis automatisch eingesetzt.
Aber nicht für statisch gebundenen DLLs, nur für dynamische DLLs, Bilder usw. wird der richtige Pfad simuliert. Statisch gebundene DLLs müssen also im compilersverzeichnis oder in System bzw. System32-Ordner sein, da sie so geladen werden wie API-DLLs, die sich auch in diesen Verzeichnissen befinden. Ich hoffe das ist halbwegs verständlich :wink:

Verfasst: 12.01.2006 17:59
von Mok
:D
Green Snake hat geschrieben:hast du die MIDAS.dll auch im ordner des compilers?
Hab's probiert => hat funktioniert => hab' mich gefreut *g*
Danke :)

Verfasst: 13.05.2006 22:51
von Joel
Also ich hab dass immer noch nicht Kappier dass nicht mit dem midas11.dll
Wie kann ich folgenden code dazu bringen dass das geht?

Code: Alles auswählen


If InitSound() = 0
  MessageRequester("Error", "DirectX 7 not available.") : End
EndIf

If InitModule() = 0
  MessageRequester("Error", "MIDAS11.dll not available.") : End
EndIf

FileName$ = OpenFileRequester("","","Modules (*.mod, *.xm, *.it)|*.mod;*.xm", 0)
If FileName$
  If LoadModule(0, FileName$)
    PlayModule(0)    
    MessageRequester("PureBasic - Module player", "Playing the module...")
    
    ; Now, perform a nice fading...
    ;
    For k=100 To 0 Step -1
      Delay(20)
      ModuleVolume(0, k)
    Next
    
  Else
    MessageRequester("Error", "Can't load the module or bad module format.")
  EndIf
EndIf

End

Verfasst: 14.05.2006 00:28
von ts-soft
Die midas11.dll muß sich im Compilers und bei der Weitergabe im
Programm-Ordner deines Programms befinden (System32 usw. gehen auch)

Deine Abfrage nach der DLL funktioniert so nicht, weil die DLL statisch
gebunden ist, das geht nur bei dynamisch gebundenen DLLs. So wird immer
Windows die Fehlermeldung ausgeben, nicht PureBasic!!!

Der Fehler tritt vor InitModule() auf, beim Start!!!

Verfasst: 14.05.2006 19:57
von Joel
Statisch gebunden, Windows Fehlermeldung? :?
Macht einfach mal einen Tags und schreibt den code so wie ihr meintet weil ich bin blutiger Anfänger, desswegen kappier ich dass nicht.