![]() |
Unter Win2000 alles ok, unter Win98SE EListError !
Liebe Delphi Freunde,
ich habe hier ein seltsames Problemchen. Mein Programm habe ich unter Win2000 kompiliert und alles läuft auch unter Win2000 einwandfrei (ebenfalls XP). Unter Win98SE startet das Programm jedoch garnicht, es kommt zu einem ..caused an exception eedfadeH und dann Exception EList Error Registerkarte mit Index 0 konnte nicht gelöscht werden. In meinem Programm habe ich ein TPageControl mit mehreren TTabSheet drin. Auf einem der TTabSheets habe ich weiters TPageControl mit mehreren TTabSheets drin. Die Styles der TTabSheets sind auf tsFlatButtons gesetz und damit die Tabs nicht sichbar sind, erfolgt im FormShow
Delphi-Quellcode:
Wobei Pages und Pages2 die Namen der beiden TTabSheets sind.
for i:=0 to 14 do Pages.Pages[i].TabVisible:=false;
for i:=0 to 6 do Pages2.Pages[i].TabVisible:=false; Ich habe dann außerdem mein Delphi 7 auf diesem Win98 Rechner installiert und wollte schau, was passiert, wenn ich meine Applikation unter Win98 kompiliere. Jedoch weigert sich Delphi 7 schon, wenn ich meinen Source Code laden will: Fehler beim Erzeugen von Formular: Registerkarte mit Index 0 konnte nicht gelöscht werden. Das Formular wird auch garnicht angezeigt. Das ist alles sehr seltsam und passiert ja nur unter Win98. Hat einer von Euch damit schon Erfahrung gehabt. Ich würde mich sehr über Tips und Ideen freuen. Dankeeee, Jasmine :cat: |
Re: Unter Win2000 alles ok, unter Win98SE EListError !
Also grundsätzlich fällt mir folgendes dazu ein:
Da die Meldung "kann nicht gelöscht werden" kommt, denke ich, das du deine for-Schleife umkehren solltest. Lass sie mal zum Test von
Delphi-Quellcode:
laufen. Es könne nämlich sein, das, wenn du das 0. Element invisible gemacht hast, die Anzahl der Pages um 1 reduziert ist. Du könntest das auch mit dem Debugger und einem Breakpoint rausbekommen.
Pages.PageCount-1 downto 0
Warum das nur unter Win98 so ist? Das PageControl ist ja Teil von Windows, und wird von der VCL nur gekapselt (widersprecht mir wenn ich Unrecht habe). Also könnte es sein, das sich zwischen Win98 und Win2k etwas an dem Control geändert haben könnte. Theoretisch. Vielleicht :stupid: |
Re: Unter Win2000 alles ok, unter Win98SE EListError !
Hi,
danke für die Info. Habe die Schleifen mal komplett ausgeklammert, also nicht "invisible" gemacht und der Fehler tritt immer noch auf. Muss irgendwo anders dran liegen. Jasmine :cat: |
Re: Unter Win2000 alles ok, unter Win98SE EListError !
Du kannst es ja überprüfen, indem du praktisch hinter jede Codezeile ein Showmessage schreibst, welches dir anzeigt, an welcher Position du bist. Dann weisst du genau wo der Fehler auftritt.
Ich hatte auch mal ein Problem mit Abwärtskompatibilität zu Win98SE. Da hat eine wichtige Umgebungsvariable gefehlt. |
Re: Unter Win2000 alles ok, unter Win98SE EListError !
Hast du schonmal probiert ein einfaches Testprojekt mit zwei Tabsheets zu erstellen? Nur um erstmal zu gucken ob es überhaupt an den Tabsheets liegt.
|
Re: Unter Win2000 alles ok, unter Win98SE EListError !
Hast Du zufällig eine ImageList drin, die schon zur Entwurfszeit mit Daten gefüllt wird? Hatte ein ähnliches Problem mit Windows XP und Windows 95, da lag es an der ImageList. Lese ich hingegen zur Laufzeit die Bilder aus einer Ressource ein, dann gehts.
|
Re: Unter Win2000 alles ok, unter Win98SE EListError !
Hallo zusammen,
also ich habe mal einfach ein neues Projekt gestartet, zwei TabSheets drauf gesetzt, unter Win2K compiliert und unter Win98 laufen lassen - kein Problem, keine Fehler ! Eine ImageList habe ich auch nicht drin, allerdings normale TImages und TSpeedButtons mit Bildern drin, alles mal rausgeschmissen, Fehler immer noch da. Nun weiß ich auch nicht weiter, da der Fehler ja schon bei Programmstart, bzw. beim Laden des Projektes unter Win98 auftritt. Beim googlen bin ich nach der Suche nach der "eedfadeH" Exception, auf Informationen gestoßen, dass man zwei Dateien, die riched20.dll und die riched32.dll in den Win98 windows/system32 Ordner kopieren sollte. Hab ich allerdings noch nicht gemacht, mir ist dann aber aufgefallen, dass ich auch ein RichEdit verwende, allerdings nicht in den TabSheets. Ich werde wohl nun mal systematisch alles nacheinander rausschmeißen, kompilieren und schauen, wie es sich unter Win98 verhält. Ein Delphi 7.1 Update hab ich natürlich längst drauf. Wenn einer von Euch noch eine Idee hat oder den Fehler kennt, wäre ich über jegliche Infos sehr, sehr dankbar. Jasmine :cat: |
Re: Unter Win2000 alles ok, unter Win98SE EListError !
Nun, wenn du schon auf die rich*.dlls kommst, dann wird es höchstwahrscheinlich daran liegen, dass Delphi eine neuere rich*.dll erwartet, als bei Win98 installiert ...
|
Re: Unter Win2000 alles ok, unter Win98SE EListError !
Hallo,
habe mir nun mal madExcept installiert und es ergibt sich ein TabControlError in der ComCtrls Ich muss auch dazu sagen, dass meine verwendete Win98 Version die allererste, ohne jegliche Updates oder Patches ist. Einfach nur so um zu testen, ob mein Programm auch unter Win98 arbeitet. Was kann ich noch tun ? Ich versuche mal, ob es eine neuere ComCtrls.dll für Win98 gibt. Jasmine :cat: |
Re: Unter Win2000 alles ok, unter Win98SE EListError !
Also ich hatte das Problem auch mal, nur lag es dabei an den Timern.
Da hatte ich ein Projekt in Win XP erstellt, und sollange ich einen Timer drinn hatte lief es nicht unter Win 98 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 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