Schrift
[thread]12022[/thread]

Entry "2" not found

Leser: 1


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Kean
 2008-06-16 16:19
#111064 #111064
User since
2004-08-18
463 Artikel
BenutzerIn

user image
Ich habe seit 2 Stunden das Problem, dass ich ein großes Script indem ich TK einsetze nicht mehr öffnen kann.

Es kommt dauernd der Fehler:

Code (perl): (dl )
Entry "2" not found at C:/Perl/site/lib/Tk.pm line 250.


Zuerst dachte ich es wäre ein Fehler in meinem Script. Dann hab ich aber ältere stände die zu 100% gelaufen sind geladen und es kommt immer noch die Fehlermeldung.

Hab dann perl komplett deinstalliert und das neue 5.10 installiert (vorher 5.8). Genau das gleiche hab ich Zuhause auf einem Rechner am WE auch gemacht und das hat ebenfalls funktioniert.
Leider kam der Fehler wieder. Kann mit da jemand weiterhelfen???

Hier noch die aktuellen Daten:
Win32, Perl 5.10.0, TK 804.028
betterworld
 2008-06-16 17:02
#111068 #111068
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Ich habe eine andere Tk-Version und bei mir ist Zeile 250 leer. Es wuerde also mal helfen, wenn Du Zeile 250 und Umgebung heraussuchst. Und vielleicht an der Stelle mal ein Carp::cluck einbauen oder sowas.
#Kein Kommentar
 2008-06-16 20:43
#111085 #111085
User since
2007-06-09
575 Artikel
HausmeisterIn
[default_avatar]
wenn du perl/tk benutzt bleib lieber immer auf 5.8.8, auf 5.10 ist alles noch nicht ausreichend getestet und viele module funktionieren noch nicht.

könntest du wenigstens ein auschnitt aus dem script zeigen und die verwendeten module? den fehler hatte ich auch schon ganz oft, weiß nur nicht mehr bei welcher sache. zeig uns mal alle tk-module, die du benutzt.
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
Kean
 2008-06-17 02:21
#111125 #111125
User since
2004-08-18
463 Artikel
BenutzerIn

user image
Also ich habe jetzt 2 Rechner bei denen der Fehler kommt und 2 Rechner bei denen der Fehler nicht kommt.
Der Fehler kommt auch nicht sofort sondern man kann das Script mindestens 1x aufrufen.

Hier die Liste der Module die ich verwende:

use warnings;
use Tk;
use Tk::JPEG;
use Tk::HList;
use Tk::NoteBook;
use Tk::Icon;
use Win32::Sound;
use Encode;
use Tk::LabFrame;
use Win32::FileOp;
use Win32::Internet;
use LWP::Simple;
use fotocut;
require Tk::Dialog;

Das Modul "fotocut" ist von mir und bindet nochmal folgende Module ein:

use Tk;
use Tk::Canvas;
use Win32::FileOp;
use Imager;
use Tk::CursorControl;
require Tk::JPEG;
require Tk::PNG;
require Tk::Dialog;

Ich bin jetzt auf einem der Rechner mit dem Fehler in meiner Code-Historie soweit zurückgegangen bis es wieder läuft. Hab dann die beiden Scripte verglichen und mir ist aufgefallen das zwar bei beiden das Modul "Encode" eingebunden ist, aber dieses erst in dem Fehlerhaften benutzt wird.
Konnte leider jetzt nicht mehr testen was passiert wenn ich diesen Teil entferne.
Kean
 2008-06-17 11:01
#111129 #111129
User since
2004-08-18
463 Artikel
BenutzerIn

user image
So ich hab mal die Zeilen aus dem Tk.pm extrahiert:

243: sub Methods
244: {
245: my ($package) = caller;
246: no strict 'refs';
247: foreach my $meth (@_)
248: {
249: my $name = $meth;
250: *{$package."::$meth"} = sub { shift->WidgetMethod($name,@_) };
251: }
252: }
253:
254: my %dialog = ( tk_chooseColor => 'ColorDialog',
255: tk_messageBox => 'MessageBox',
256: tk_getOpenFile => 'FDialog',
257: tk_getSaveFile => 'FDialog',
258: tk_chooseDirectory => 'FDialog'
259: # Slaven claims NI-S's version above does not work
260: # and provides this
261: # tk_chooseDirectory => 'DirDialog'
262: );


Vielleicht sieht hier ja jemand etwas verdächtiges.

Zusatz: Ich habe ja in meiner Code-Historie an dem zweiten fehlerhaften Rechner eine Version gefunden, welche wieder funktioniert. Diese läuft leider nicht auf dem ersten Rechner. Hier kommt wieder diese Fehlermeldung.

Langsam wird der Fehler echt ärgerlich.
Kean
 2008-06-17 12:43
#111139 #111139
User since
2004-08-18
463 Artikel
BenutzerIn

user image
Ich hab jetzt auf einem Rechner wo es funktioniert hat das ganze mit dem PAR-Packer mal zu einer exe gepackt und selbst das läuft nicht auf den Rechner.

Das ist mehr als selbstsam.
renee
 2008-06-17 13:19
#111140 #111140
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie hast Du das PAR-Archive gepackt? Inklusive aller Module (-B)? Gibt es den gleichen Fehler oder einen anderen?

Kannst Du ein minimales Skript posten, mit dem der Fehler auftritt? Und die Versionsnummern der Module bitte auch posten.

Update: Benutzt Du ActivePerl 5.10 oder StrawberryPerl 5.10?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Kean
 2008-06-17 13:35
#111141 #111141
User since
2004-08-18
463 Artikel
BenutzerIn

user image
Hier der PP Befehl:

Code: (dl )
C:\Perl\site\bin\pp.bat --output=preCount.exe --gui --icon=res\icon.ico


Wenn ich die Option --gui weglasse kommt die gleiche Fehlermeldung.
Ich habe es jetzt sowohl mit der 5.10 als auch der 5.8.8 von ActivePerl versucht.

Ich habe in diesem Script 1600 Zeilen. Ich würde ihn ja abspecken und damit den Fehler eingrenzen wenn das ginge. Das Problem ist nur das auf dem einen System ein alteres Script läuft und auf dem anderen wiederum nicht. Also hab ich absolut keinen Anhaltspunkt an was es liegen könnte.

Und das Script läuft ja beim ersten mal auf jedem Rechner. Nur wenn diese Fehler einmal kommt läuft es nicht mehr.
renee
 2008-06-17 13:41
#111142 #111142
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Schmeiß sukzessive Code aus dem Skript (aber vorher Kopie anlegen ;-) ). Solange der Fehler noch auftaucht, kannst Du Code rausschmeißen. Wenn Der Fehler nicht mehr auftaucht, hast Du schonmal einen groben Anhaltspunkt. Dann versuchst Du am besten mit dem Code, der wohl den Fehler verursacht, ein kleines Testskript zu schreiben, mit dem Du dann genauso verfahren kannst...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Kean
 2008-06-17 13:59
#111143 #111143
User since
2004-08-18
463 Artikel
BenutzerIn

user image
So ich habe jetzt auf einem der Systeme wo der Fehler kommt Active Perl 5.10.0 komplett deinstalliert (Deinstallation über Systemst.->Software, Löschen des Ordners Perl, Registry Einträge gelöscht).

Jetzt mir das ActivePerl 5.8.8.822 x86 runtergeladen und installiert.
Dann folgende Module über den Perl Package Manager installier:

TK-Icon 0.03
Win32-FileOP 0.14.1
Imager 0.62

(Tk 804.027-r6 war bereits bei Perl dabei)

Wenn ich nun versuche zu starten kommt die Fehlermeldung:

Code: (dl )
Entry "2" not found at C:/Perl/lib/Tk.pm line 252.



Mir ist nach der Installation aufgefallen, dass der Perl Package Manager meine beiden Repostories (Bribes und Winnipeg) noch in der Liste hatte. Dies lässt doch darauf schließe, dass Perl noch irgendwo Daten/Einstellungen speichert.
Und das obwohl ich zur normalen deinstallationsroutine noch alle Punkte der manuellen Deinstallation durchgeführt habe lt. dem Handbuch von Active State.
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2008-06-16 16:19.