![]() |
rtl90.bpl wird nach Neustart vermisst
Hallo zusammen,
ich habe die dOPC Komponenten der Fa. Kassl im Einsatz. Leider habe ich dort nur die Packages bis Delphi 2005, nutze aber Delphi 2007. Ich hatte die nötigen Anpassungen im Code vor einiger Zeit selbst gemacht, und das ganze lief über Jahre ganz wunderbar. Nun habe ich die VM, in der das ganze unter Win7 läuft, neu von unserer Sicherung kopieren müssen. Diese möchte nach dem Booten sofort einen Neustart machen, um "die Änderungen zu übernehmen" - ich habe jedoch keine gemacht. Auch nicht in den VMware Player Optionen. Nur gestartet. Verneine ich den Neustart, kann ich ohne Probleme Projekte mit den Komponenten öffnen und Kompilieren. Sobald ich die VM aber ein Mal neu gestartet habe, bekomme ich beim Öffnen eines Projektes mit dOPC Komponenten die Meldung:
Code:
---------------------------
bds.exe - Systemfehler --------------------------- Das Programm kann nicht gestartet werden, da rtl90.bpl auf dem Computer fehlt. Installieren Sie das Programm erneut, um das Problem zu beheben. --------------------------- OK --------------------------- Die VM ist eine Kopie von der, die ich bisher auch immer verwendet habe. Ich habe meine Registry mal ganz optimistisch nach den Strings "rtl90" und "rtl100" durchsucht: rtl90 kommt nicht vor, und rtl100 steht brav in den required keys für die dOPC Komponenten drin. Ich finde in den Packages von dOPC auch nirgends eine Option oder Codestelle an der explizit nach der rtl90 verlangt wird, und ich habe die vollständigen Quellen davon. Kopieren und Umbenennen der rtl100.bpl zu rtl90.bpl in Windows\System32 führt dazu, dass beim Öffnen eines Projektes die Datei nicht mehr vermisst wird, aber Prozedureinsprungpunkte nicht gefunden werden. (Nachvollziehbar, aber war einen Versuch wert.) Neuinstallieren der Komponenten (mit anschließendem Code-Fixing) brachte leider auch keine Änderung. Nicht Neustarten zu können ist etwas blöd, weil ab und zu muss man das ja. Kann sich hier jemand einen Reim darauf machen, was da passiert, und wie sich das lösen ließe? Danke euch schon mal! (Neukauf mit aktuelleren Versionen wäre wirtschaftlich fragwürdig, da wir damit lediglich ein einziges und zudem recht kleines, altes (ursprünglich unter D7 entwickeltes) Projekt alle paar Jahre mal pflegen.) |
AW: rtl90.bpl wird nach Neustart vermisst
In Windows\System32 liegt die rtl100.bpl aber keine rtl90.bpl?
Gibt es die rtl90.bpl "irgendwo" anders, wo sie ohne Neustart gefunden werden kann (z. B. über die Angaben in %PATH%), wobei %PATH% nach 'nem Neustart dann einen anderen Inhalt hat, sodass rtl90.bpl dann nicht mehr gefunden werden kann? |
AW: rtl90.bpl wird nach Neustart vermisst
Am einfachsten kann man das mit dem
![]() |
AW: rtl90.bpl wird nach Neustart vermisst
Du hast nur die vorkompilierten Kompilate (BPL/DCP/DCU), oder auch für ALLES die Quellcodes (DPR/DPK und PAS) ?
Wenn nicht, dann altes Delphi, bis 2005, oder Neues von Kassl kaufen. Sonst ist doch alles gesagt, was wichtig ist. :wink: Zitat:
Packages (BPL) und auch kompilierte Units (DCU) sind genau für eine Delphi-Version und funktionien auch ausschließlich nur dort (teilweise sogar genau in einer bestimmten Update/Hotfix-Version) Es ist unmöglich sie in Delphi 2007 zu benutzen, egal ob man die Dateien umbenennt oder sich diese Dateien aus D2005 kopiert. (2006/2007 gab es nur mal den Sonderfall, dass der selbe Compiler drin steckte und daher Einiges kompatibel war) Zitat:
Seiten Embarcadero gibt es hier auch keine Lösung. Sie können nur D7 und alles seit D2007 bis jetzt bereitstellen. (für davor hatten sie sich keine Rechte gekauft) ![]() |
AW: rtl90.bpl wird nach Neustart vermisst
Brat mir einer einen Storch.
Ein anderes Projekt mit denselben Komponenten lässt sich ohne Probleme öffnen. Der Witz: Das ist im Grunde genau das selbe Programm, nur eine Variation von dem nicht mehr funktionierenden, und die Unterschiede betreffen die OPC-Funktionen überhaupt nicht. Nach der Meldung, dass die rtl90.bpl nicht gefunden wurde kommt beim nicht mehr funktionierenden Projekt übrigens noch die Meldung: "Package C:\Users\Public\Documents\RAD Studio\5.0\Bpl\dOPCDA9.bpl kann nicht geladen werden. Das angegebene Modul wurde nicht gefunden." Gehe ich in dieses Verzeichnis, liegt dort aber eine Datei namens "dOPCDA9.bpl" drin! Selbe VM, selbes Delphi, ohne Neustarts zwischendrin, 15sek nacheinander probiert. Ein Projekt öffnet sich problemlos, das andere nicht. Das kapiere ich nun gar nicht mehr. |
AW: rtl90.bpl wird nach Neustart vermisst
Das ist, weil die Meldung falsch ist und Microsoft es seit Jahren nicht hinbekommt zum GetLastError noch eine API mit freiem DetailString zum Fehlercode hinterlegen zu können,
wie z.B. welche DLL nicht geladen werden konnte. Windows gibt nur einen Fehlercode ala 123 raus, aka "eine dll konnte nicht geladen werden" und einige Programme schreiben dann dazu noch den Namen, was sie laden wollten. DIESES ist aber nicht unbedingt das Gleiche. *
Delphi-Quellcode:
oder .bpl
LoadLibrary('A.dll');
* diese DLL bindet eine weitere DLL ein und Jene wurde nicht gefunden |
AW: rtl90.bpl wird nach Neustart vermisst
Hmm okay, das erklärt zumindest, warum die falsche Datei angemeckert wird. Leider aber noch nicht, warum sogar exakt dasselbe Projekt, bevor ich es vor ein paar Tagen neu gespeichert hatte, sich ebenfalls problemlos öffnen lässt.
Da muss irgend etwas sehr esoterisches passiert sein... |
AW: rtl90.bpl wird nach Neustart vermisst
Wie ich geschrieben habe:
All das kann man mit dem Process Monitor sehen. Welche Dateien werden gesucht, wo werden sie gesucht, ... Vielleicht wird nach der Datei ja an der falschen Stelle gesucht. Vielleicht ist auch die PATH-Variable zu lang. Da gibt es viele Möglichkeiten. |
AW: rtl90.bpl wird nach Neustart vermisst
falsche Stelle sollte es nicht sein direkt sein
aber ja, Suchpfade in den Projektoptionen. Es darf garnicht nach 90 (D2005) gesucht werden, weil du ja für 110 (D2007) kompilierst. Versionsnummer/Postfix hartcodiert und vergessen zu ändern, als das Projekt auf Delphi 2007 umgezogen wurde (OK, ging damals nicht anders, weil $(auto) wurd erst vor Kurzem erfunden) -> nicht nach Dateinamen, sondern IN deinen Dateien/Quellcodes suchen |
AW: rtl90.bpl wird nach Neustart vermisst
Zitat:
Was mich halt gerade extrem wundert, ist dass dasselbe Projekt in einer Version von vor ein paar Tagen klaglos läuft. Also muss es ja etwas am Projekt selber sein - aber die Änderungen, die ich zuletzt gemacht habe, betrafen lediglich das Logging in einem Memo, haben also nichts was mit OPC zu tun hat angefasst. Auch Projektoptionen habe ich nicht geändert. Bevor ich weiter auf Geisterjagd gehe, versuche ich einfach mal die Änderungen nochmals auf Basis der Vor-Version zu machen. Mal schauen, wie die sich dann verhält. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 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