Seite 1 von 1

[gelöst] findet als exe die Engine3D.dll nicht.

Verfasst: 29.01.2020 20:23
von tft
Hallo,

ich bràuchte mal eure Inspiration. Ich habe gerade wieder angefangen zu Programmieren. Und habe mal zufàllig eine Exe erstellt um zu testen
ob es auch funktioniert. Aber als Exe kann die Engine3D.dll nicht inizialisiert werden. Ich habe das Programm mal auf das minimum herunter gebrochen.
Ich habe wirklich keine Idee. Zumal es in der IDE gestartet super funktioniert.

Code: Alles auswählen

; 
; Multi Thread MainCraft Clone by tft
;
; 

CONSOLE = 1 ; Mit einer ausgabe Console arbeiten

IRC = 0 ; InitReturnCode bei Aufruf von Funktionen
MRC = 0 ; ReturnCode bei aufruf eines Requester
SRC.s = ""; String rückgabe einer Funktion

QUIT = 0 ; Wenn 1 dann Game beänden, 2 mit Requester


Procedure.s C_Input()
  Protected Ergebniss.s = "", KeyPress.s = ""
  
  KeyPress.s = Inkey()
  If KeyPress.s <> ""
    
    If KeyPress.s = Chr(27) ; Taste ESC
      Ergebniss.s = "QUIT"        
    EndIf
    
  EndIf
  
  ProcedureReturn Ergebniss.s
EndProcedure


If CONSOLE = 1
  IRC = OpenConsole()
  If IRC = 0
    MRC = MessageRequester("InitConsole", "Cant init", #PB_MessageRequester_Ok) 
    End
  EndIf
EndIf

IRC = InitEngine3D() 
If IRC = 0
  MRC = MessageRequester("InitEngine3d", "Cant init", #PB_MessageRequester_Ok)  
  End
EndIf

Repeat
  
  If CONSOLE = 1 ; da das programm bis hirhin gekommen ist. Wird die Console wol offen sein
    SRC.s = C_Input() : If SRC.s = "QUIT" : QUIT = 1 : EndIf
  EndIf
      
  Delay(10) ; Dem System zeit einräumen
Until QUIT <> 0

If QUIT = 2
  
  MRC = MessageRequester("Game exit", "Game beänden?", #PB_MessageRequester_YesNo)  
  Debug MRC
  If MRC = 6 ; Ja
    
  ElseIf MRC = 7 ; Nein
    
  EndIf
  
EndIf

If CONSOLE = 1 : CloseConsole() : EndIf
  
End


Re: findet als exe die Engine3D.dll nicht.

Verfasst: 29.01.2020 21:15
von mk-soft
Es muss noch die Engine3D.DLL in das Verzeichnis vom Programm kopiert werden.

Siehe Hilfe InitEngine3D

Re: findet als exe die Engine3D.dll nicht.

Verfasst: 29.01.2020 23:37
von tft
Hallo .... ja das habe ich.

Re: findet als exe die Engine3D.dll nicht.

Verfasst: 29.01.2020 23:45
von DePe
Möglicherweise benötigst du ein installiertes DirectX 9, oder probiere es mit dem Subsystem 'OpenGL' in den Compilereinstellungen.

Peter

Re: findet als exe die Engine3D.dll nicht.

Verfasst: 31.01.2020 07:11
von tft
Hallo,

danke an diejenigen die mir per Mail infos haben zukommen lassen. Aber es war etwas ganz anderes. Ich benutze mittlerweile die 64 Bit Version. Und natürlich muss man da auch die entspreche Engin3D.dll verwenden. Die 32 Bit Version ist so um die 3 Mega, und die 64 Bit Version so um die 12 Mege gross.

Kennt hier jemand eine Möglichkeit eine Versions-erkennung der DLL einzubauen? Damit ich wenigstens eine ordentliche Fehlermeldung einbauen kann?

Gruss TFT

Re: [gelöst] findet als exe die Engine3D.dll nicht.

Verfasst: 31.01.2020 12:23
von mk-soft
OpenLibrary : CloseLibray 8)