Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: . Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

GunnarMD

Hobbyflieger

  • »GunnarMD« ist der Autor dieses Themas

wcf.user.posts: 592

Wohnort: Magdeburg

Beruf: Konstrukteur

  • Nachricht senden

1

Freitag, 14. März 2008, 21:48

Problem mit Simconnect unter VB6

Hallo,

für die Weiterentwicklung von WheelCam müßte ich eine für mich unüberwindbare Hürde überspringen. Mein Problem ich habe keine Ahnung von der Sprache "C++".

Ich möchte gern mittels Simconnect eine FLT-Datei speichern. Das SDK beschreibt die Sache so:

SimConnect_FlightSave

The SimConnect_FlightSave function is used to save the current state of a flight to a flight file.

Syntax

HRESULT SimConnect_FlightSave(
HANDLE hSimConnect,
const char* szFileName,
const char* szDescription,
DWORD Flags
);

Parameters

hSimConnect
[in] Handle to a SimConnect object.
szFileName
[in] Null-terminated string containing the path to the flight file. The path can either be absolute, or relative to the My Documents\Flight Simulator X folder. Flight files have the extension .FLT, but no need to enter an extension here.
szDescription
[in] Null-terminated string containing the text to enter in the Description field of the flight file.

Flags
[in] Unused.


In VB6 habe ich es so geschrieben:

Declare Function SimConnect_Open Lib "SimConnect.dll" _
(phSimConnect As Long, _
ByVal szName As String, _
ByVal hWnd As Long, _
ByVal UserEventWin32 As Long, _
ByVal hEventHandle As Long, _
ByVal ConfigIndex As Long) As Long

Declare Function SimConnect_FlightSave Lib "SimConnect.dll" _
(phSimConnect As Long, _
ByVal savepfad As String, _
ByVal description As String, _
ByVal flags As Long)

Declare Function SimConnect_Close Lib "SimConnect.dll" (ByVal hSimConnect As Long) As Long

Dim hSimConnect As Long
Const S_OK = 0

Sub main()
Call flt_schreiben
End Sub

Sub flt_schreiben()
Dim hr As Long
Dim antwort

hr = SimConnect_Open(hSimConnect, "FLT_SAVE", 0, 0, 0, 0)
If hr = S_OK Then
hr = SimConnect_FlightSave(hSimConnect, "Test.flt", "Test", 0)
SimConnect_Close hSimConnect3
Else
antwort = MsgBox("FS not work", vbOKOnly, "Break")
End If
End Sub


Beim Start des Programmes aus der Entwicklungsumgebung schmiert diese ohne Fehlermeldung komplett ab. Nun würde ich zu gern wissen, was ich falsch gemacht habe. Die Verbindung zu Simconnect funktioniert einwandfrei, andere Funktionen werden sauber ausgeführt.

Meine Vermutung ist, daß ich die Typen:

const char* szFileName
const char* szDescription

nicht korrekt verwendet habe. Ich wäre für jede Hilfe sehr dankbar.
Schöne Grüße aus
Magdeburg an der Elbe

von Gunnar

Meine Homepage zum Thema Flugsimulation

2

Freitag, 14. März 2008, 21:51

RE: Problem mit Simconnect unter VB6

Gunnar, ich versuche gleich mal Martin/mhe zu kontaktieren ;)
Ich denke der kann weiterhelfen

:weg:
Gruß


GunnarMD

Hobbyflieger

  • »GunnarMD« ist der Autor dieses Themas

wcf.user.posts: 592

Wohnort: Magdeburg

Beruf: Konstrukteur

  • Nachricht senden

3

Freitag, 14. März 2008, 21:57

Hallo Jürgen,

das wäre super. Ich bin nämlich am Ende eines Tunnels an gekommen, wo es keinen Ausgang gibt.

Ich danke dir für deine Unterstützung.
Schöne Grüße aus
Magdeburg an der Elbe

von Gunnar

Meine Homepage zum Thema Flugsimulation

4

Freitag, 14. März 2008, 22:00

RE: Problem mit Simconnect unter VB6

Gruß


5

Freitag, 14. März 2008, 22:12

Wow... da muss ich jetzt grübeln. :hm:
Das letzte und glaub ich sogar einzige mal, dass ich VB angefasst habe ist rund 8 Jahre her, aber mal sehen was man da machen kann.

Soweit ich mich erinnern kann, gibts ähnliche Funktionen wie in den C/C++ Debuggern auch im Visual Studio. Kannst Du den Code mal Step by Step vom Interpreter abfrühstücken lassen, damit Du mal rausfindest bei welcher Anweisung das Ding flöten geht? Bzw schau mal ob Du einen Memory Debugger findest, weil evtl crasht das Visual Studio weil der auszuführende Code segfaultet und evtl was vom Speicherbereich der Entwicklungsumgebung überschreibt. Das OS sollt sowas zwar abfangen, aber bei Visual Studio würd ich mich da nicht drauf verlassen.
Oder hab ich da was falsch verstanden und es crasht nur das Programm, aber Visual Studio läuft eh noch?

Leider bin ich sehr eingerostet bei den kompilierten Sprachen, insofern kann ich leider nur mit etwas generischen Ratschlägen versuchen zu helfen. :(
| Intel i7 5930K @4.25 Ghz | 32GB DDR4-3400 | Asus STRIX X99 Gaming | STRIX GTX 1080 SLI OC'd |
| Oculus Rift CV1 | TrackIR 5 | Slaw USAF Pedals | Thrustmaster HOTAS Warthog | Obutto r3volution |

Those who say it cannot be done should not interrupt the people doing it...

6

Freitag, 14. März 2008, 22:15

Sorry Gunnar, hatte da im Hinterkopf dass Martin da mittendrin steht. Aber vielleicht hilft es trotzdem :yes:

Martin, fetten :respect: und Danke dass Du so schnell auf mein Mail reagiert hast :hail:
Gruß


GunnarMD

Hobbyflieger

  • »GunnarMD« ist der Autor dieses Themas

wcf.user.posts: 592

Wohnort: Magdeburg

Beruf: Konstrukteur

  • Nachricht senden

7

Freitag, 14. März 2008, 22:19

Hallo,

ich danke euch für die schnelle Reaktion. Einzelschrittprüfung werde ich mal machen, wobei ich denke daß der Exitus beim Aufruf der DLL erfolgt.

Irgendwann werde ich mich wohl doch noch mit den .NET-Sprachen befassen. :hm:
Schöne Grüße aus
Magdeburg an der Elbe

von Gunnar

Meine Homepage zum Thema Flugsimulation

8

Freitag, 14. März 2008, 22:29

Jürgen: Kein Problem, tut man gerne, wenn man schon in Rechnernähe ist. ;)

Gunnar: halt mich da bitte auf dem Laufenden, ich würd gern wissen wie das weitergeht, weil das ist so eine Art sportliche Herausforderung :D
| Intel i7 5930K @4.25 Ghz | 32GB DDR4-3400 | Asus STRIX X99 Gaming | STRIX GTX 1080 SLI OC'd |
| Oculus Rift CV1 | TrackIR 5 | Slaw USAF Pedals | Thrustmaster HOTAS Warthog | Obutto r3volution |

Those who say it cannot be done should not interrupt the people doing it...