Neues Xbase für Win7/Win8 notwendig? [ERLEDIGT]

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
Kretschi
Rookie
Rookie
Beiträge: 5
Registriert: Fr, 17. Mai 2013 10:19

Neues Xbase für Win7/Win8 notwendig? [ERLEDIGT]

Beitrag von Kretschi »

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.
Screenshot_Imbua32.pdf
(115.46 KiB) 262-mal heruntergeladen
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.
georg
Der Entwickler von "Deep Thought"
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?

Beitrag von georg »

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:
Windows 7 06.01 Build 07601 Service Pack 1
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.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
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?

Beitrag von Tom »

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".
Herzlich,
Tom
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
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?

Beitrag von Werner_Bayern »

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.
es grüßt

Werner

<when the music is over, turn off the lights!>
Kretschi
Rookie
Rookie
Beiträge: 5
Registriert: Fr, 17. Mai 2013 10:19

Re: Neues Xbase für Win7/Win8 notwendig?

Beitrag von Kretschi »

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
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
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?

Beitrag von Koverhage »

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.
Gruß
Klaus
Kretschi
Rookie
Rookie
Beiträge: 5
Registriert: Fr, 17. Mai 2013 10:19

Re: Neues Xbase für Win7/Win8 notwendig?

Beitrag von Kretschi »

Danke noch einmal an alle, die mir "auf die Sprünge geholfen" haben.
Ich kann das Thema somit als ERLEDIGT kennzeichnen.

Gruß,

Michael
Antworten