Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#1

DataSnap-Client lässt sich nicht erstellen

  Alt 27. Nov 2020, 16:49
Moin Moin,

beim Versuch einen DataSnap-Client neu zu erstellen, gibt es am Ende des Experten einen Fehler und es bricht bei/vor Erstellung der Units ab.
Delphi 10.4.1 (im XE keine Probleme)

TestServer.exe
* compilieren + starten (ohne Debugger)
ClientTCP.exe
* Datei > Neu > DataStnap > DataSnap-Client-Modul
* Lokaler Server
* Eigenständiger DataSnap-Server
* TCP/IP
* Port 211, User/Pass= egal
-> Remote-Fehler: Zugriffsverletzung bei Adresse 00A37818 in Modul 'TestServer.exe'. Lesen von Adresse 00000000

* der DSServer ist wie vom Experten generiert
* nur zusätzlich mit Billig-Logging und den zwei Testfunktionen für TStream.

Der Fehler kommt in der IDE / im Experten (nicht aus in der Server-EXE)
Die Server-EXE erkennt schonmal die Verbindung (LOG: UserAuthenticate Protocol=tcp/ip Context= User=user:pass)

XE: Quellcode und Compilate
104: nur die Quellcodes, da die EXEn das Limit brechen (Allein der Server wird von 3MB wird zu 31MB und selbst Release+komprimiert übertrifft es die 5MB des Forum-Anhangs)

---

Damals im XE, bei den ersten Generationen des DataSnap hatten wir/ich so Einiges am automatisch generierten Code angepasst.
* bei Übertragung von TPgDataSet, während der Übertragung von TEXT in VARCHAR geändert, weil es mit TEXT nicht ging
* bei Übertragung von Streams die übertragenen Streams in einen TMemoryStream umkopiert, weil Komponenten mit dem Stream.Size=-1 (wenn über 32 KB) nicht zurecht kamen
* ...
* ich hoffe das ganze Zeugs für TDataSet-Übertragung ist wieder raus (hatte es entfernt, als wir nach massiven langjährigen Problemen auf Materialized-Views in der Datenbank als PreCache umgestiegen sind)

Bei Umstellung von XE zu 10.2 10.3 10.4 wollte ich mir nun den Server und Client neu erstellen lassen
und dann schauen/vergleichen was nun zu tun wäre.
* die Übertragungsverschlüsselung hatte ich auskommentiert (fand auf die Schnelle irgendwelche Klassen/Units nicht, aber egal, da bisher eh nicht aktiv )
* und ansonsten ließ sich der alte Code erstmal problemlos kompilieren (nur paar USES anpassen)
* aber im Betrieb raucht dann der DataSnap-Client beim Connect:=True ab
* * Exception weil Interface (GUID irgendwas) nicht registriert sei (war irgendwas aus der IPPeerAPI)
Angehängte Dateien
Dateityp: 7z AppServer.7z (1,81 MB, 1x aufgerufen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (27. Nov 2020 um 17:06 Uhr)
  Mit Zitat antworten Zitat