Neues Xbase für Win7/Win8 notwendig? [ERLEDIGT]
Moderator: Moderatoren
Neues Xbase für Win7/Win8 notwendig? [ERLEDIGT]
Hallo,
da ich neu in diesem Forum bin, kurz ein paar Worte zu mir.
Ich entwickle seit ein paar Jahren Einzelplatzanwendungen für kleine bis kleinere mittelständische Unternehmen in Xbase++. Vorher arbeitete ich mit Clipper, so dass im Laufe der Zeit auch einige Portierungen auf Xbase++ nötig wurden. Ein wenig Erfahrung ist also vorhanden. Als "Alleinunterhalter" steht man aber manchmal auf der Leitung, weil ganz einfach der Gedankenaustausch mit anderen fehlt und der eine eine oder andere Denkanstoß ausbleibt.
Nun zu meinem Problem:
Eines meiner Programme, das sowohl unter XP als auch Vista anstandslos funktionierte, wurde bei einem Kunden wegen Austausch des PC auf einem (neuen) Windows 7 - Rechner installiert. Die Installation verlief problemlos. Alle Dateien befinden sich im Pfad C:\Program Files(x86) im entsprechenden Unterordner für mein Programm.
In diesem Unterordner werden während der Installation auch Dateien abgelegt, die zur Strukturanpassung der DBF's beim ersten Programmstart nach dem Setup bestimmt sind. Sie werden unmittelbar nach der Anpassung gelöscht und sind somit beim zweiten Programmstart nach dem Setup nicht mehr vorhanden. Der Löschvorgang wird für jede einzelne Datei angezeigt und findet auch statt, allerdings nicht im Installationspfad, denn nach jedem weiteren Programmstart (mit Löschanzeige) befinden sich die Dateien nach wie vor in dem selben. Das Löschen erfolgt mittels FErase() unter Angabe des vollständigen Pfades. Änderungen, die vom Nutzer am Datenbestand vorgenommen werden, sind nach erneutem Programmstart nicht mehr vorhanden usw..
Mit welchen Dateien Windows 7 auch arbeitet, mit denen im Installationspfad jedenfalls nicht.
Da der Rechner momentan nicht zur Verfügung steht, hatte ich bisher außer einer kurzen "Ferndiagnose" noch keine Möglichkeit genauer hinzuschauen.
Das Programm gibt ein paar Informationen zur Umgebung in ein Fenster aus. Einen Screenshot habe ich beigefügt.
Es fällt sofort auf, dass die Windows-Version falsch erkannt wurde. Alle anderen Angaben sind korrekt.
Meine Frage deshalb:
Ist die von mir eingesetzte Xbase-Version überhaupt in der Lage, unter Windows 7 korrekt zu arbeiten oder ist das Ganze ausschließlich auf die Benutzerkontensteuerung von Win 7 zurückzuführen?
Ich brauche einen Denkanstoß.
Grüße,
Michael
da ich neu in diesem Forum bin, kurz ein paar Worte zu mir.
Ich entwickle seit ein paar Jahren Einzelplatzanwendungen für kleine bis kleinere mittelständische Unternehmen in Xbase++. Vorher arbeitete ich mit Clipper, so dass im Laufe der Zeit auch einige Portierungen auf Xbase++ nötig wurden. Ein wenig Erfahrung ist also vorhanden. Als "Alleinunterhalter" steht man aber manchmal auf der Leitung, weil ganz einfach der Gedankenaustausch mit anderen fehlt und der eine eine oder andere Denkanstoß ausbleibt.
Nun zu meinem Problem:
Eines meiner Programme, das sowohl unter XP als auch Vista anstandslos funktionierte, wurde bei einem Kunden wegen Austausch des PC auf einem (neuen) Windows 7 - Rechner installiert. Die Installation verlief problemlos. Alle Dateien befinden sich im Pfad C:\Program Files(x86) im entsprechenden Unterordner für mein Programm.
In diesem Unterordner werden während der Installation auch Dateien abgelegt, die zur Strukturanpassung der DBF's beim ersten Programmstart nach dem Setup bestimmt sind. Sie werden unmittelbar nach der Anpassung gelöscht und sind somit beim zweiten Programmstart nach dem Setup nicht mehr vorhanden. Der Löschvorgang wird für jede einzelne Datei angezeigt und findet auch statt, allerdings nicht im Installationspfad, denn nach jedem weiteren Programmstart (mit Löschanzeige) befinden sich die Dateien nach wie vor in dem selben. Das Löschen erfolgt mittels FErase() unter Angabe des vollständigen Pfades. Änderungen, die vom Nutzer am Datenbestand vorgenommen werden, sind nach erneutem Programmstart nicht mehr vorhanden usw..
Mit welchen Dateien Windows 7 auch arbeitet, mit denen im Installationspfad jedenfalls nicht.
Da der Rechner momentan nicht zur Verfügung steht, hatte ich bisher außer einer kurzen "Ferndiagnose" noch keine Möglichkeit genauer hinzuschauen.
Das Programm gibt ein paar Informationen zur Umgebung in ein Fenster aus. Einen Screenshot habe ich beigefügt.
Es fällt sofort auf, dass die Windows-Version falsch erkannt wurde. Alle anderen Angaben sind korrekt.
Meine Frage deshalb:
Ist die von mir eingesetzte Xbase-Version überhaupt in der Lage, unter Windows 7 korrekt zu arbeiten oder ist das Ganze ausschließlich auf die Benutzerkontensteuerung von Win 7 zurückzuführen?
Ich brauche einen Denkanstoß.
Grüße,
Michael
Zuletzt geändert von Kretschi am Mi, 29. Mai 2013 13:28, insgesamt 1-mal geändert.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2823
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 95 Mal
- Danksagung erhalten: 13 Mal
Re: Neues Xbase für Win7/Win8 notwendig?
Hallo, Michael -
das Problem liegt bei Windows, oder genauer gesagt, bei den Windows-Rechten.
Xbase++ läuft unter Windows 7 - wobei es egal ist, ob es sich um die 32bit oder die 64bit Version handelt. Daran sollte es nicht liegen.
Unter normalen Umständen erfordern Dateiaktionen (erstellen, ändern, löschen) in einem System-Verzeichnis wie c:\program files(x86) Administratorrechte.
Du kannst das überprüfen, indem das Programm als Administrator ausgeführt wird, dann sollten (!) die Zugriffe korrekt erfolgen. Aber das ist mehr oder minder eine Sicherheitslücke, die von Administratoren sicher nicht gerne gesehen wird.
Um diesem Dilemma zu entkommen, gibt es das c.\program data Verzeichnis, in dem Anwender-Daten abgelegt werden sollen/können/dürfen.
Auf meinem Rechner (Windows 7, 32bit) liefert OS() folgendes Ergebnis:
das Problem liegt bei Windows, oder genauer gesagt, bei den Windows-Rechten.
Xbase++ läuft unter Windows 7 - wobei es egal ist, ob es sich um die 32bit oder die 64bit Version handelt. Daran sollte es nicht liegen.
Unter normalen Umständen erfordern Dateiaktionen (erstellen, ändern, löschen) in einem System-Verzeichnis wie c:\program files(x86) Administratorrechte.
Du kannst das überprüfen, indem das Programm als Administrator ausgeführt wird, dann sollten (!) die Zugriffe korrekt erfolgen. Aber das ist mehr oder minder eine Sicherheitslücke, die von Administratoren sicher nicht gerne gesehen wird.
Um diesem Dilemma zu entkommen, gibt es das c.\program data Verzeichnis, in dem Anwender-Daten abgelegt werden sollen/können/dürfen.
Auf meinem Rechner (Windows 7, 32bit) liefert OS() folgendes Ergebnis:
Es ist natürlich auch denkbar, dass jemand einen abweichenden Kompatibilitätsmodus für Dein Programm definiert hat, was zu der abweichenden Versionskennung führen kann.Windows 7 06.01 Build 07601 Service Pack 1
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9345
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 100 Mal
- Danksagung erhalten: 359 Mal
- Kontaktdaten:
Re: Neues Xbase für Win7/Win8 notwendig?
Zur falschen Windows-Versionserkennung bei Windows 8 gibt es bei Alaska einen Hotfix.
Es widerspricht der Rechtephilosophie, Daten im Ordner "Programme" oder "program files" (o.ä.) zu verwalten. Programme, die also ihre eigenen Tabellen im Ausführungsverzeichnis verwalten, sollten anderswo installiert werden, notfalls unter "c:\Meine_Applikation". FErase() liefert übrigens 0 (Null) für die fehlerfreie Ausführung oder ansonsten einen OS-Fehlercode zurück. Sehr wahrscheinlich gibt es im vorliegenden Fall einen, beispielsweise "Zugriff verweigert".
Es widerspricht der Rechtephilosophie, Daten im Ordner "Programme" oder "program files" (o.ä.) zu verwalten. Programme, die also ihre eigenen Tabellen im Ausführungsverzeichnis verwalten, sollten anderswo installiert werden, notfalls unter "c:\Meine_Applikation". FErase() liefert übrigens 0 (Null) für die fehlerfreie Ausführung oder ansonsten einen OS-Fehlercode zurück. Sehr wahrscheinlich gibt es im vorliegenden Fall einen, beispielsweise "Zugriff verweigert".
Herzlich,
Tom
Tom
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2120
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 29 Mal
- Danksagung erhalten: 70 Mal
Re: Neues Xbase für Win7/Win8 notwendig?
Servus Michael,
wie Tom schon schrieb, Du brauchst die aktuellen Patches, ansonsten ist Deine Version aktuell und läuft einwandfrei unter Windows 7.
Unter Windows 7 landen Dateien, die auf c:\ angelegt werden im Virtualstore (user/appdata/local), ohne dass eine Fehlermeldung erscheint, bei Vista kommt sauber der Zugriff verweigert.
wie Tom schon schrieb, Du brauchst die aktuellen Patches, ansonsten ist Deine Version aktuell und läuft einwandfrei unter Windows 7.
Unter Windows 7 landen Dateien, die auf c:\ angelegt werden im Virtualstore (user/appdata/local), ohne dass eine Fehlermeldung erscheint, bei Vista kommt sauber der Zugriff verweigert.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
Re: Neues Xbase für Win7/Win8 notwendig?
Hallo
und danke an alle, die geantwortet haben.
Habe schon befürchtet, dass ohne Hotfix wohl nichts zu machen ist.
Leider ist meine Subscription vor einiger Zeit abgelaufen und ich habe z.Zt. keinen Zugriff auf neuere Hotfixes.
Werde um eine Erneuerung wohl nicht herumkommen.
@Tom:
Den Errorcode von FErase() habe ich natürlich abgefragt. Der Wert für den Fehlerfall (-1, laut Doku) wird nicht geliefert.
Viele Grüße,
Michael
und danke an alle, die geantwortet haben.
Habe schon befürchtet, dass ohne Hotfix wohl nichts zu machen ist.
Leider ist meine Subscription vor einiger Zeit abgelaufen und ich habe z.Zt. keinen Zugriff auf neuere Hotfixes.
Werde um eine Erneuerung wohl nicht herumkommen.
@Tom:
Den Errorcode von FErase() habe ich natürlich abgefragt. Der Wert für den Fehlerfall (-1, laut Doku) wird nicht geliefert.
Viele Grüße,
Michael
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Neues Xbase für Win7/Win8 notwendig?
ich habe die Patches/Hotfixes auch nicht. Die sind nicht unbedingt notwendig, außer man hat
spezielle Probleme die damit gelöst sind.
Das größte Problem war/ist Division durch 0 bei 64-bit Systemen, aber die sollte man eh selbst verhindern.
spezielle Probleme die damit gelöst sind.
Das größte Problem war/ist Division durch 0 bei 64-bit Systemen, aber die sollte man eh selbst verhindern.
Gruß
Klaus
Klaus
Re: Neues Xbase für Win7/Win8 notwendig?
Danke noch einmal an alle, die mir "auf die Sprünge geholfen" haben.
Ich kann das Thema somit als ERLEDIGT kennzeichnen.
Gruß,
Michael
Ich kann das Thema somit als ERLEDIGT kennzeichnen.
Gruß,
Michael