Seite 1 von 2

xppsys.dll

Verfasst: Do, 02. Apr 2020 18:50
von guentergurland
Hoffe jetzt bin ich im Forum.

Also alles nochmal.

Ich habe ein Programm. xBase 1.90.331

2 Kunden mit Windows 10 pro.

Auf dem einen PC läuft es problemlos.
Auf dem anderen PC verlangt das Programm nach xppsys.dll.
Wenn ich jetzt die xppsys.dll installiere kommt die Fehlermeldung
Einsprungpunkt nicht gefunden
?nomtryfindRegisteredclass

Hat jemand eine Idee ?

Re: xppsys.dll

Verfasst: Do, 02. Apr 2020 19:07
von Martin Altmann
Moin Günter,
bei „Einsprungspunkt nicht gefunden“ scheint die Ursache darin zu liegen, dass du die DLL einer anderen Xbase++-Version hast (also unterschiedliche Versionen mischst).
Es könnte auch sein, dass die Datei beschädigt ist (z.B. weil du sie mittels ftp im ASCII-Modus statt im Binary-Modus hochgeladen hast).

Viele Grüße,
Martin

Re: xppsys.dll

Verfasst: Do, 02. Apr 2020 19:09
von georg
Hallo, Günter -


einfach in einer Befehlseingabe mal

Code: Alles auswählen

xppload version
eingeben und die Versionsnummern der DLLs vergleichen. Wenn Dir etwas auffällt, kannst Du ja den entsprechenden Abschnitt kopieren und hier als Antwort einstellen.

Ich stimme Martin zu, dass es möglicherweise ein Versionskonflikt sein kann.

Re: xppsys.dll

Verfasst: Do, 02. Apr 2020 19:30
von guentergurland
Hallo ,

das komische ist. Die xppsys.dll liefere ich garnicht mit.

Der Exe-File ist bei beiden identisch. Ich überspiele die Daten per
Teamviewer, also scheidet ftp aus.

Bei einem Kunden läuft es problemlos, ohne xppsys.dll.

Kopiere ich jetzt den gleichen Exe-File auf den PC des anderen Kunden,
wird xppsys.dll verlangt. Kopiere ich jetzt xppsys.dll, erscheint die Fehlermeldung mit
dem Einsprungspunkt.

Re: xppsys.dll

Verfasst: Do, 02. Apr 2020 19:51
von ramses
Du musst unbedingt immer alle dll's deiner xbase Version mit der exe ausliefern und am besten im selben Verzeichnis.
Sonst sucht Windows in allen Such Pfaden nach der DLL und kann so eine richtige oder eine ganz andere unpassende finden.
Bezw. du hast ein Versionskonflikt in deinen DLL's.

Re: xppsys.dll

Verfasst: Do, 02. Apr 2020 20:10
von guentergurland
Ich installiere die dll-Dateien grundsätzlich im Ordner, wo das Programm läuft.

Ich habe die xppsys.dll jetzt beim Kunden, wo alles problemlos
lauft in den Ordner kopiert. Kein Problem.
Jetzt habe ich sie wieder gelöscht, kein Problem.

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 5:32
von AUGE_OHR
hi,

verwendest du eine Manifest Datei :?: GUI oder VIO :?:

die v1.9.331 hat IMHO ein "schlechtes" IsThemeActive() in xbparts.prg was in der v1.9.355 doppelt "nachgebessert" wurde.

btw. wenn ich mich nicht irre waren die Hotfix bis No28 der Übergang zu v1.9.355 also sollte man die alle installieren.
besser ist der xpp19sl1.zip "Patch" ... wer den braucht schreibe mir eine E-Mail

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 7:51
von guentergurland
Ich habe noch nie eine Manifestdatei benutzt.
Das merkwürdige ist doch. Das gleiche Programm läuft auf einem PC
problemlos, auf dem anderen nicht. Beide haben Windows 10 pro.
Habe mit den Kollegen gesprochen, die beide Systeme installiert haben.
Sie sehen auch keinen Unterschied bei der Installation.
Da ich gewohnt bin logisch heranzugehen, das Programm ist gleich, dann kann
es doch nur etwas mit irgendeiner Einstellung von Windows 10 zu tun haben.
Die xppsys.dll hat übrigens die Version 1.90.355, alle anderen 1.90.331.
Vielleicht hat ja jemand die Version 1.90.331. Mal sehen, was dann passiert.
Danke

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 8:08
von ramses
Die xppsys.dll hat übrigens die Version 1.90.355, alle anderen 1.90.331.
Da würde ich jetzt mal als erstes Versuchen ein Set DLL's mit der selben Versionsnummer zu finden.
Es gab damals einige SL und Rollups weche die 331 zur 355 machten.
Wenn du diese DLL's nun gemischt verwendest führt dies nur zu einem: Ins Chaos! (So wie du es bereits siehst und hast)
Wie beim Auto, du kannst sicherlich 4 Reifen mit 4 unterschiedlichen Durchmesser montieren, würdest du damit dann fahren?

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 8:13
von georg
Hallo, Günter -


ich komme nochmals auf meinen Vorschlag mit

Code: Alles auswählen

xppload version
zurück.

Mache das doch bitte auf beiden PCs und poste die Ergebnisse hier, den 1.90.355 und 1.90.331 sind unterschiedliche Xbase++-Versionen, die m.W. zueinander nicht kompatibel sind.

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 8:14
von Tom
Kann es sein, dass Du bei Deinen Kunden Xbase++ installierst?

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 8:37
von guentergurland
Danke für Eure Hilfe.

Es gibt 2 Dateien xppsys.dll auf meinem PC.
Ordner : C:\alaska\xppw32\lib und C:\alaska\xppw32\runtime
Beide Version : 1.90.355
Es gibt ja auch kein Problem auf den anderen PC’s. Warum ?
Warum fragt das Programm auf den anderen PC’s nicht auch nach xppsys.dll ?
Ich installiere bei meinen Kunden nur das Programm und nicht Xbase.

Danke

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 9:13
von ramses
guentergurland hat geschrieben: Fr, 03. Apr 2020 8:37 Warum fragt das Programm auf den anderen PC’s nicht auch nach xppsys.dll ?
Weil es diese in einem Suchpfad oder dem Windows Verzeichnis findet.
z.B. haben viele Softwarehersteller die Saumode Ihre benötigten DLL's im Windows Systemordner abzulegen was dann oft zu Problemen führt.
Führe mal auf dem Kunden PC in der Konsole den Befehl:

Code: Alles auswählen

dir c:\xppsys.dll /s
aus, der zeigt dir wo diese Datei überall liegt.

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 10:11
von brandelh
Hi,

die XPPSYS.DLL ist vom Namen her für grundlegende Aufgaben bestimmt.
Sie ist in jeder Xbase++ Version die ich auf dem Rechner habe im LIB und im RUNTIME enthalten, muss also immer mit kopiert werden.
Ich tippe auch auf ältere Restbestände und Versionskonflikt. Meine 1.90.355 ist vom 08.10.2010 09:55 Hotfix # 28

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 11:19
von AUGE_OHR
hi,

in der v1.9x gibt das Verzeichnis c:\ALASKA\XPPW32\Source\SYS\

dort liegt auch eine Project.XPJ und damit kannst du dir selbst die DLL für "deine" Version erzeugen.
die Änderungen betreffen praktisch nur IsThemeActive() und der davon abhängige visual Style Stuff.

Frage : sprechen wir von GUI oder VIO :?:

bei VIO "sollte" keine visual Style erfolgen und ohne Manifest sowieso nicht.
das fehlen eines Manifest wurde wohl in der "beta" 1.9.337 behoben ... oder 341, 342, 345, 346, 347, 350 welche wohl mit der 331 noch laufen "könnten"
ab der 355 war die SL1 im Spiel und die Hotfixe 23 und 28 welche Hubert meint.

solange du kein visual Style verwendest kannst du bei der 1.9.331 bleiben ... die läuft auch unter Windows 2004 ( ab Mai 2020 )

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 12:06
von brandelh
die XPPSYS.PRG finde ich bei mir aber nicht in dem Verzeichnis ;-)

Wobei in der Hilfe zu 2.00 gibt es Hinweise auf eine eigene Version dieser DLL, es muss also möglich sein ...

ABER das ist nur nötig wenn man was am Standardverhalten ändern will ...

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 12:27
von guentergurland
Danke für Eure Hilfe.
Auf den beiden Rechnern gibt es keine xppsys.dll, auch nicht in einem anderen Ordner:
Ich habe auf meinem PC die xppsys.dll aus den Verzeichnissen, die in der Path-Anweisung eingeschlossen sind komplett gelöscht.
Habe alle obj-Dateien der Anwendung gelöscht und das Programm neu kompiliert.
Alles ok. Keine Frage nach xppsys.dll. Weder beim Compilieren noch beim Start.
Es muß also irgendwie an der Installation von Windows 10 liegen, ähnlich, wie
der Haken Schnellstart aktivieren.
Danke

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 12:29
von guentergurland
Sorry,

habe ich vergessen. Ich handelt sich um GUI.

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 12:32
von guentergurland
Version xppsys.dll

1.90.355
10.04.2009
7.37 Uhr

Re: xppsys.dll

Verfasst: Fr, 03. Apr 2020 13:33
von brandelh
In der alten Hilfe hätte man nachsehen können welche Xbase++ Befehle die DLL benötigen.
Ein PBUILD /G könnte eventuell überflüssige Verweise löschen oder neu aufbauen.

In der 2.00 wird die DLL bei folgenden Funktionen verwendet:
GetApplication()
XbpApplication()
XppApplication()

es wird aber auch darauf hingewiesen, dass in der 1.90 andere Aufgaben enthalten waren.
Ich kann hier aber die HLP Datei der 1.90 nicht mehr öffnen.

Re: xppsys.dll

Verfasst: Sa, 04. Apr 2020 1:34
von AUGE_OHR
das es ohne XbpSYS.DLL laufen soll ist kaum zu glauben ...

Code: Alles auswählen

   ..\sys\activex.prg
   ..\sys\AppExit.prg
   ..\sys\applictn.prg
   ..\sys\AppSys.prg
   ..\sys\axctrls.prg
   ..\sys\Blocks.prg
   ..\sys\BrowSys.prg
   ..\sys\BrowUtil.prg
   ..\sys\dbbulk.prg
   ..\sys\dbedit.prg
   ..\sys\DbeSys.prg
   ..\sys\ErrorSys.prg
   ..\sys\except.prg
   ..\sys\fileio.prg
   ..\sys\GetSys.prg
   ..\sys\GetSysX.prg
   ..\sys\GraSys.prg
   ..\sys\xbparts.prg
   ..\compat\COMPAT87.prg
   ..\compat\adir.prg
   ..\compat\afields.prg
   ..\compat\compat.prg
   ..\compat\mod.prg
   ..\compat\timer.prg

Re: xppsys.dll, Erledigt

Verfasst: Sa, 04. Apr 2020 6:54
von guentergurland
Hallo miteinander,

ja es läuft ohne xppsys.dll.

Erstmal danke für Eure Hilfe.

Das Problem ist (fast) gelöst. Ich hatte mir von Borger das Tool xpppdf besorgt.
Wenn ich die dll weglasse gibt es keine Fehlermeldung. Ich muß jetzt nur noch
herausfinden, in welcher Konstellation mit welcher DLL-Version das Programm trotzdem
läuft.
Das merkwürdige ist ja nur, warum läuft es auf dem einen PC und auf dem anderen nicht,
obwohl beide die gleiche Version von Windows 10 haben und sogar die Hardware
identisch ist.

Also nochmal Danke.

Re: xppsys.dll

Verfasst: Sa, 04. Apr 2020 11:15
von brandelh
AUGE_OHR hat geschrieben: Sa, 04. Apr 2020 1:34 das es ohne XbpSYS.DLL laufen soll ist kaum zu glauben ...

Code: Alles auswählen

   ..\sys\activex.prg
   ..\sys\AppExit.prg
   ..\sys\applictn.prg
   ..\sys\AppSys.prg
   ..\sys\axctrls.prg
   ..\sys\Blocks.prg
   ..\sys\BrowSys.prg
   ..\sys\BrowUtil.prg
   ..\sys\dbbulk.prg
   ..\sys\dbedit.prg
   ..\sys\DbeSys.prg
   ..\sys\ErrorSys.prg
   ..\sys\except.prg
   ..\sys\fileio.prg
   ..\sys\GetSys.prg
   ..\sys\GetSysX.prg
   ..\sys\GraSys.prg
   ..\sys\xbparts.prg
   ..\compat\COMPAT87.prg
   ..\compat\adir.prg
   ..\compat\afields.prg
   ..\compat\compat.prg
   ..\compat\mod.prg
   ..\compat\timer.prg
Die XppSYS.DLL ist NICHT der Inhalt aller PRG Dateien im SYS Verzeichnis !

In der Hilfe kann man nach XppSys.DLL suchen und findet die wenigen Befehle, die diese DLL benötigen.

Re: xppsys.dll

Verfasst: Sa, 04. Apr 2020 12:59
von AUGE_OHR
brandelh hat geschrieben: Sa, 04. Apr 2020 11:15 Die XppSYS.DLL ist NICHT der Inhalt aller PRG Dateien im SYS Verzeichnis !
hm ... ich habe eine Project.XPJ aus dem ich es kopiert habe.
die erzeugte XppSys.DLL "ersetzt" dann natürlich die vorhandenen wenn man die in dem Verzeichnis der App hat.
brandelh hat geschrieben:In der Hilfe kann man nach XppSys.DLL suchen und findet die wenigen Befehle, die diese DLL benötigen.
zumindest IsThemeActive() ist einer von den Dingen gewesen wo diverse XppSys.DLL geliefert wurden.

---

hm ... :!: "wo" ist die AppSys (AppSys.prg), Errorsys (ErrorSys.prg) und DbeSys(DbeSys.prg)
mit einer "eigenen" AppSys "überschreibe" ich die default AppSys und mit einer XppSys.DLL die all die Function enthält ...

Re: xppsys.dll

Verfasst: Sa, 04. Apr 2020 13:31
von brandelh
Die Functionen AppSys() und DBESys() kopiere ich - wenn nötig - in mein Haupt-PRG ganz unten hin.
Eine Funktion in einer PRG verhindert die Links auf eine externe Funktion in einer DLL.

Ich würde aber NIE eine eigene DLL mit gleichem Namen wie eine Standard DLL erzeugen, da blickt man bald nicht mehr durch.