BlitzBasic-Programme noch unter Windows 10 ausführen?
Übersicht

![]() |
KnorxThieusBetreff: BlitzBasic-Programme noch unter Windows 10 ausführen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Huhu, ich hab mich hier inzwischen echt lange nicht mehr sehen lassen - wohl, weil ich mich von den alten Blitz-Sprachen inzwischen weitestgehend verabschiedet hatte und nun hauptsächlich der .NET-Welt fröne (C#) ... ![]() Nichtsdestotrotz wäre mir zuweilen daran gelegen, meine alten Blitz-Programme hin und wieder noch einmal auszuführen (die habe ich mit B+ geschrieben, inwieweit sich der grundsätzliche Aufbau hier von B3D unterscheidet, weiß ich allerdings nicht zu beurteilen) - eine Hand voll nette "Kommandozeilentools" machen immer noch Sinn und außerdem mag ich ganz gern mal wieder in "alten" Erinnerungen kramen ... ![]() Na ja, wo liegt wohl das Problem? Richtig, mit Blitz Kompiliertes oder auch nur Gedebuggtes macht unter meiner aktuellen Installation (Win 1703 - die letzten erfolgreichen Tests könnten aber durchaus mehrere Updates/Versionen zurückliegen) bedauerlicherweise ganz einfach keinerlei Anstalten mehr, anzulaufen. Die Fehlermeldung ist immer dieselbe, sogar ein leeres BB-File erzeugt die gleiche Ausnahme: Das ist für mich sehr ärgerlich, zwar programmiere ich nicht mehr in Blitz, aber auf diese Weise wurden gewissermaßen mit einem Schlag all meine Resultate aus Jahren des Vergnügens mit dieser Sprache annulliert, was ich doch sehr ärgerlich finde. Tja, was meint ihr? Gibt es mit einer entsprechenden Nachinstallation/Modifikation irgendeines Moduls, Wrappers, was weiß ich, noch eine letzte Chance, Blitz zu reparieren? Der windowseigene Kompatibilitätsassistent - ich habe alle verfügbaren Modi ausprobiert - vermag selbstverständlich keine Abhilfe zu schaffen. Ist dieses Modul möglicherweise teilweise redundant und ließe sich durch einen wohlüberlegten Eingriff in die Ressourcen der Executable entfernen o. ä.? Oder muss ich meine Erinnerungen wirklich begraben? Ich bin mit meinem Latein am Ende ... ![]() Google war die exakte Fehlermeldung zu meinem Erstaunen übrigens gänzlich unbekannt. Grüße, KnorxThieus |
||
Version: BlitzPlus / Blitz+ |
![]() |
Cykid |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Fehlermeldung wird durch die Abwesenheit von Directplay erzeugt.
Bei mir hat W10 selbstständig diese Funktion nachinstalliert. Ansonsten: Systemsteuerung => Programme und Funktionen => Windows Funktionen aktivieren => Legacy Components => Directplay Häckchen setzen. Das sollte es lösen ![]() |
||
![]() |
KnorxThieus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wow, ich bin dir zu herzlichem Dank verbunden! ![]() Das DirectPlay gefehlt hat, hatte ich in der Tat schon einmal. Aber das war vielleicht Windows 8.1, welches mir direkt beim Start zur Nachinstallation von DirectPlay angeraten hat ... Super, jetzt klappt es jedenfalls wieder! ![]() Viele Grüße, KnorxThieus |
||
Version: BlitzPlus / Blitz+ |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja den kenn ich auch, habs aber schon geschafft, meine große frage ist, wenn man nun ein programm von bp weiter gibt an freunde ect. müssen diese auch den schritt machen? | ||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
![]() |
KnorxThieus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erschiene mir zwingend, ja.
Geht aber auch einfacher, wenn du deine Programme mit einer FirstRun-Funktion ausstattet, die das hier tut: BlitzBasic: [AUSKLAPPEN] p = CreateProcess("DISM /online /enable-feature /featurename:directplay") Braucht allerdings Adminrechte, vielleicht macht sich das in einem separaten Skript besser. ![]() |
||
Version: BlitzPlus / Blitz+ |
- Zuletzt bearbeitet von KnorxThieus am Do, Jul 13, 2017 20:13, insgesamt 2-mal bearbeitet
![]() |
Cykid |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also im besten Fall kommt die Meldung von Windows selber, wie hier in dem Fall von W 8.1 beschrieben.
Kommt Sie nicht, dann muss man leider auf die Manuelle installation zurückgreifen. Das Phänomen tritt aber auch bei Age of Empires 3 auf. Ist also nicht ganz unbekannt, aber sehr unschön. |
||
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da BlitzBasic open-source ist könnte man die DirectPlay funktionen aus der Runtime nehmen, aber nachdem es ziemlich schwierig ist BlitzBasic vom Quelltext zu kompilieren, denke ich dass ein kleiner exe-Patcher die einfachere Lösung ist.
Falls wer ein kleines Projekt braucht. Man müsste den Funktionsaufruf zu DirectPlay, der vermutlich vor dem eigenen BB-Code durchgeführt wird, herauspatchen (durch nops ersetzen). Vielleicht hab ich mal lust darauf... |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
![]() |
KnorxThieus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wofür wird das denn eigentlich verwendet? Ich hätte gedacht, wenn man das Modul streicht, gibt es spätestens bei grafischen Operationen schwere Fehler. Da würde ich für meinen Teil ja doch für eine Nachinstallation plädieren.
Man könnte jeder Blitz-Exe ein Skript "vorschalten": Code: [AUSKLAPPEN] Set WshShell = CreateObject("WScript.Shell")
If Not CheckBlitzConfig Then ConfigBlitz WshShell.Run Join(ToArray(WScript.Arguments)), 1, True Function ToArray(args) ReDim arr(args.Count-1) For i = 0 To args.Count-1 arr(i) = args(i) Next ToArray = arr End Function Function CheckBlitzConfig Const op = "%Temp%\blitzCoreFtChk" cmd = "powershell -Command ""(Get-WmiObject -query \""select * from Win32_OptionalFeature where name = 'DirectPlay'\"").InstallState"" > " & op Call WshShell.Run(cmd, 0, true) Set fso = CreateObject("Scripting.FileSystemObject") Set file = fso.OpenTextFile(WshShell.ExpandEnvironmentStrings(op), 1, False, -1) CheckBlitzConfig = (cInt(file.ReadLine) = 1) file.Close End Function Sub ConfigBlitz Const cmd0 = "dism" Const cmd2 = "/online /enable-feature /featurename:directplay" Call WshShell.Run(cmd0 & " " & cmd2, 0, True) 'Requires administrative privileges - but ShellEx won't wait for completion End Sub Damit kann man jedes Blitz-Programm aufrufen: Code: [AUSKLAPPEN] bbHelper.vbs meinBlitzProg.exe
Sollte klappen. Eleganter dürfte man nur drumherumkommen, indem man das Blitz-Programm in eine andere Starter-Exe, nicht mit Blitz programmiert, einbettet, die dann den Test inkl. ggf. erforderlicher Nachinstallation vornimmt und anschließend die Blitz-Exe entpackt und ausführt. Wär mir aber zu aufwendig ... ![]() |
||
Version: BlitzPlus / Blitz+ |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
KnorxThieus hat Folgendes geschrieben: Wofür wird das denn eigentlich verwendet? Ich hätte gedacht, wenn man das Modul streicht, gibt es spätestens bei grafischen Operationen schwere Fehler.
Ne, DirectPlay ist ne DirectX-Komponente für Netzwerkfunktionen und hat mit Grafik nix zu tun. Müsste also eigentlich ohne Probleme entfernbar sein. |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
KnorxThieus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ach so, dann ... Wenn hier jemand die Kunst beherrscht, das Modul aus den Binaries herauszustreichen, dann vorzüglich! ![]() Von daher bedanke ich mich, wenn hier dennoch jemandem die vollständige Elimination dieses Moduls gelingen sollte, würde ich die Lösung hier sehr begrüßen. ![]() Auf Wiederlesen! (: |
||
Version: BlitzPlus / Blitz+ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group