![]() |
Re: Problem mit GetClass in stat. App bei dyn. geladenen Pac
Achte doch mal beim Debuggen auf die Ereignisanzeige. Dort müsste es eigentlich Nachrichten beim Laden und Entladen von Packages geben. Den Fehler kann ich mir allerdings nicht erklären. Debug doch mal SpecialPackage und prüfe, ab wann Aufruf von RegisterClass GetClass('AlteKlasse') nil zurückgibt.
|
Re: Problem mit GetClass in stat. App bei dyn. geladenen Pac
Moin, Moin,
ich habe jetzt folgenden Zustand. Alle verwendeten Units sind jeweils nur in einem Package eingebunden. Soweit ist der Fehler U... verschwunden. Die Klassen werden auch registriert und es lässt sich ordnungsgemäß drauf zugreifen. Ein Fenster habe ich aus dem Package herausgenommen, da wurde ein externes Package verwendet. Das hatte Probleme bereitet. Leider ist noch nicht alles im Reinen. Ich bekomme immer noch Fehlermeldungen bei der Ausführung des Programmes und die Komponenten verhalten sich im nachgeladen Package nicht so wie die Originalkomponenten. Ich durchsuche gerade meine Platte nach doppelt vorhandenen Packages. Mal schauen was das noch wird. Erfreulich ist es nicht. Gruß oki |
Re: Problem mit GetClass in stat. App bei dyn. geladenen Pac
Zitat:
Glücklicherweise hatte ich im Oktober letzten Jahres die Gelegenheit mit Barry Kelly (das ist der, der bei Codegear am Compiler arbeitet) ca. 2 Stunden allein und ungestört zu sprechen. In diesem Gespräch habe ich viele Probleme, die wir mit Delphi hatten, angesprochen und teilweise gute Lösungsansätze bekommen. Unter anderem hatte ich ihn auch nach der Problematik mit den Packages gefragt. (Siehe 1. Beitrag) Der Mixbetrieb ist definitiv nicht möglich. Das liegt unter anderem daran, das die Adresstabellen anders aufgebaut sind, je nachdem ob die Anwendung mit oder ohne Runtime Packages arbeitet. Es werden beim Compilieren durch den Schalter RuntimePackages viele grundlegende interne Dinge komplett anders gemacht. Es ist also nicht "nur" die verwendeten Package in die Exe gelinkt, sondern wie schon Geschieben, es wird viel mehr gemacht. ;-) Da meine Frage beantwortet ist, werde ich das Thema (offene Frage) als beantwortet markieren. |
Re: Problem mit GetClass in stat. App bei dyn. geladenen Pac
Hallo MaBuSE
Dank für die Info. Da das hier dein Thread ist werde ich meine aktuellen Themen in einem neuen Tread zur Diskussion stellen. Das Thema Runtime-Package ist auch meiner Meinung nach damit geklärt. Meine aktuellen Probleme sollten damit sicher in diesem Kontext, aber an einer anderen Stelle liegen. Dank und Gruß oki |
Re: Problem mit GetClass in stat. App bei dyn. geladenen Pac
Zitat:
Es geht ja um das gleiche. (Zumindest am Anfang ;-) ) |
Re: Problem mit GetClass in stat. App bei dyn. geladenen Pac
Dann werd ich gleich mal das nächste Problem zu diesem Thema schildern.
Ich habe mir im Debugger die Aufrufe meiner vererbten Klasse angesehen und festgestellt, dass da ein Versatz drin ist. Das passt schon mal zu dieser Aussage: Zitat:
Meine Anwendung die das Package laden soll besitzt Formuare aus BasePackage. Konkret auch das MainForm. Somit habe ich mein BasePackage als Design- und RuntimePackage kompiliert. Ich brauch ja die Formulare und Komponenten zum Designen meiner Anwendung. Das SpezialPackage ist als Runtimepackage kompiliert und enthält ein speziellen Formular als Nachfahre eines Forms aus BasePackage. Diese SpezialPackage soll dann von meiner Anwendung zur Laufzeit nachgeladen werden. Jetzt habe ich den Verdacht, dass meine Anwendung ja das BasePackage als Designtime-Package verwendet, obwohl ich Laufzeitpackages verwenden ausgewählt und mein BasePackage mit eingetragen habe. Wird mein SpezialPackage als Laufzeitpackage geladen, welches natürlich auch BasePackage beinhaltet, so habe ich wieder den Mischbetrieb. Dahinter kann ich aktuell keine rechte Logik erkennen, aber die Erscheinungen lassen sich für mich mit dem gesagten erst mal nur so erklären. Meine erste Frage ist, Liege ich damit richtig? Meine zweite Frage Welche Alternative habe ich? Gruß oki |
Re: Problem mit GetClass in stat. App bei dyn. geladenen Pac
Hallo,
Aaaalso ich würde mit dem Verständnis, das ich beim Lesen dieses Threads gewonnen habe, das Design so abändern, das diejenigen Teile, die zum Designen der Anwendung unbedingt als Designpackage vorliegen müssen, als Designpackage übersetzt werden, während diejenigen Teile, die erst zur Laufzeit nachgeladen werden oder eben während des Entwurfsprozesses, konsequent als Laufzeitpackage übersetzt werden. Gemeinsam benötigte Tele ghören dann in eine gewöhnliche Unit, die von beiden Teilen verwendet wird. |
Re: Problem mit GetClass in stat. App bei dyn. geladenen Pac
|
Re: Problem mit GetClass in stat. App bei dyn. geladenen Pac
Hallo MaBuSE,
herzlichen Dank für die Erläuterungen. Damit bin ich mir dann sicher, dass meine Exe nur mit Laufzeitpackages arbeitet und der Fehler an der Stelle nicht sein kann. Somit macht es Sinn hier weiter zu suchen, da der Fehler offensichtlich an einer anderen Stelle liegt. @schöni: Das ist so nicht möglich. Aber mit den Erläuterungen von MaBuSE ist das dann auch nicht nötig, da es alleine auf die konsequente Verwendung der Runtimepackages ankommt. Ich denke, der einzige Fehler der hier passieren kann ist dann nur der Fall, dass man die Exe ohne Runtimepackage verwenden compiliert und dann eins nachlädt. Habe ich den Schalter "Laufzeit-Packages verwenden" gewählt, so kann eigentlich nichts mehr schief gehen. Ich suche weiter! (ist ja bald Ostern :mrgreen: ) Dank und Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz