Schrift
[thread]11642[/thread]

Problem mit Modulen...Object->new() nicht gefunden



<< >> 6 Einträge, 1 Seite
tsy
 2008-04-14 14:50
#108354 #108354
User since
2008-03-17
54 Artikel
BenutzerIn
[default_avatar]
Hallo, ich habe vor kurzem einige Module geschrieben und diese letztendlich in einem Unterverzeichnis meines Projektes abgelebt (nach Hilfe von einigen Forumsmitgliedern hat es auch mit Vererbung etc. geklappt). Nun möchte ich diese Module in einer Webanwedung nutzen und da beginnen die Probleme. Ich habe mir eine Version mit Apache und Perl herunter geladen und die Module in einen Unterordner unter Perl\lib kopiert. Sie sollen nun aus dem Webverzeichnis angesprochen werden. Genau dies geht jedoch leider nicht. Während die Anweisung
Code (perl): (dl )
use dir::Modul;

keine Probleme bereitet kann ich aber keine Funktion aufrufen.
Code (perl): (dl )
$my variable  = dir::Modul->new();

endet mit der Medlung
Code: (dl )
Can't locate object method "new" via package "dir::Modul" (perhaps you forgot to load "dir::Modul"?

Habe ich die Module an einen flaschen Platz gelegt oder muss ich sonst noch etwas dabei beachten?

Grüße, tsy
pq
 2008-04-14 15:03
#108356 #108356
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
also dir::Modul ist ein komischer paketname.
und $my variable stimmt so auch nicht.
wie heisst das package des moduls?
so musst du es auch mit use einbinden.
verzeichnisnamen haben in modulnamen nix zu suchen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
tsy
 2008-04-14 15:16
#108358 #108358
User since
2008-03-17
54 Artikel
BenutzerIn
[default_avatar]
hallo, pq
natürlich heißt es my $variable.
dir soll für das oben erwähnte Unterverzeichnis stehen, in dem die einzelnen Module sich befinden; in der Art wie z.B. mymodules\Benutzer.pm bzw im Package mymodules::Benutzer.
renee
 2008-04-14 15:19
#108360 #108360
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Und in dem Modul gibt es auch wirklich eine Subroutine "new"?
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/
tsy
 2008-04-14 15:42
#108361 #108361
User since
2008-03-17
54 Artikel
BenutzerIn
[default_avatar]
Ups, ich schätze mein Posting war ein Schnellschuss.
Ich glaube es ist ein Problem mit der Apache-Konfiguration und ich habe das Problem auch falsch erkannt.
Danke Euch für das Hilfeangebot, ich glaube das Problem lag bei mir. Melde mich dann später noch mal, falls ich dann das Problem besser beschreiben kann und es sich noch lohnt.

Viele Grüße,

tsy
tsy
 2008-04-15 15:02
#108406 #108406
User since
2008-03-17
54 Artikel
BenutzerIn
[default_avatar]
so... ich glaube ich habe das Problem gelöst. Es trat nur bei Modulen mit Vererbung auf und es lag daran, dass das Elternmodul, nicht mit dem absoluten Pfad angesprochen wurde (dieses befindet sich im selben Verzeichnis). Ich habe jetzt überall den Package-Namen davor gesetzt und es scheint zu funktionieren.
Ich weiß zwar selbst nicht so genau, warum es jetzt, wo die Module bei den anderen Perl-Modulen im Pfad liegen nicht mehr nur mit dem Modulnamen geht, aber das Problem ist wohl gelöst :-)
<< >> 6 Einträge, 1 Seite



View all threads created 2008-04-14 14:50.