Ich arbeite in einem Unternehmen, das benutzerdefinierte Anwendungen auf der Basis von ESRI ArcGIS entwickelt, erstellt und verwaltet. Einige Kunden verwenden Direct Connect, um eine Verbindung zu Datenbanken herzustellen, die auf Oracle oder MS SQLServer gespeichert sind. Ich habe seit einigen Monaten ein Problem mit einer eigenständigen Anwendung.Verwenden von Direct Connect-Zugriff auf ArcGIS-Datenbanken in eigenständigen Anwendungen
Ich habe eine Anwendung, in Delphi geschrieben. Eines der ersten Dinge, die ich mache, ist natürlich das Öffnen des Arbeitsbereichs.
pWorkspaceFactory:= CoSdeWorkspaceFactory.Create as IWorkspaceFactory;
pWorkspaceFactory.OpenFromFile('D:\directconnect.sde', WndHandle, pWorkspace);
es funktioniert auch in einigen Fällen der direkten Verbindung Dies funktioniert für alle „normalen“ Connects in Ordnung,. Es kann jedoch vorkommen, dass ich beim Aufruf von OpenFromFile einen Stackoverflow in einer anderen Datenbank erhalte. Durch das Erhöhen der MaxStackSize-Größe in den Projektoptionen des Delphi-Projekts funktionierte es in einigen Direct Connect-Datenbanken. Aber es funktioniert nicht für alle.
Kennt jemand den richtigen Weg, Direct Connects in Standalone-Anwendungen ohne ArcMap zu handhaben? Der Zugriff auf die Datenbanken in ArcMap war nie ein Problem, ich denke, ArcMap hat eine spezielle Handhabung für Direct Connects.
Danke für alle Ideen und Antworten. die Antwort kann man mit ;-)
Grüße
Warheart
Ich kann die Frage nicht beantworten, aber ich habe einen Vorschlag zu der Frage. Könnten Sie bitte weitere Informationen zum Stapelüberlauf hinzufügen? In welchem Code ist der Code enthalten - ruft OpenFromFile den Code zurück oder ist er nur in seinem Code enthalten? Wenn Sie sich den Call-Stack anschauen, was passiert? (ZB rekursiv, oder einfach eine gigantische Call-Struktur?) Einfach zu sagen, dass es überläuft, kann nicht wirklich helfen, es sei denn, Sie suchen nach einer Antwort, die nicht ihren Code überhaupt verwendet. –