Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5031[/thread]

MainWindow vererben???



<< >> 9 Einträge, 1 Seite
Gast Gast
 2005-07-19 12:34
#44188 #44188
Kann mir jemand sagen warum das nicht funktioniert.


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/perl

use strict;

use my_tk;

my $fenster = my_tk->new();

MainLoop();



package my_tk;

use base 'Tk';
sub new {
my $class = shift;
my $self = $class->SUPER::MainWindow->new(@_);
# ggf. mach was mit $self
return $self;

}
1;


Fehler:

Can't locate auto/my_tk/SUPER/MainWindow.al in @INC
renee
 2005-07-19 12:46
#44189 #44189
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das hier funktioniert:

Skript:
Code: (dl )
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl

use strict;
use lib qw(.);
use my_tk qw(MainLoop);

my $fenster = my_tk->new();

MainLoop();


my_tk.pm:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package my_tk;

require Exporter;
our @EXPORT = qw(MainLoop);

use base 'Tk';
sub new {
my $class = shift;
my $self = MainWindow->new(@_);
# ggf. mach was mit $self
return $self;
}

sub MainLoop{
Tk::MainLoop();
}

1;
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/
esskar
 2005-07-19 12:52
#44190 #44190
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
funzen ja; es ist aber nicht das selbe;
$self ist ja jetzt ein TK::MainWindow und kein my_tk
ptk
 2005-07-19 15:09
#44191 #44191
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Du musst von Tk::MainWindow ableiten, nicht von Tk
esskar
 2005-07-19 15:16
#44192 #44192
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=ptk,19.07.2005, 13:09]Du musst von Tk::MainWindow ableiten, nicht von Tk[/quote]
wussten wir doch (pq und ich), dass du die lösung bringen würdest; da es mich auch interessiert hat, hier ne lösung
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package mytk;

use strict;
use warnings;

use base 'Tk::MainWindow';

sub new {
my $class = shift;

my $self = $class->SUPER::new(@_);

return ($self);
}

sub run {
my $self = shift;
$self->SUPER::MainLoop;
}

1;


my $wnd = mytk->new;
$wnd->run;
Gast Gast
 2005-07-19 19:06
#44193 #44193
Danke. Jetzt kann ich los basteln..:p
Crian
 2005-07-20 16:59
#44194 #44194
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Jetzt würd ich ja doch gern wissen, wofür Du das brauchst =)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Gast Gast
 2005-07-20 17:08
#44195 #44195
Ich glaub du (Moderator) würdeste das sicherlich anders machen, aber ich möchte ein größeres Programm schreiben und möchte
1. das was ich zu OOP gelesen haben verstehen
2. Ordnung in den Code bekommen und da kann ich bei einem vererbten mainwindows gleich menu's etc mit in ein objekt rein stopfen

Denkst du das brauch ich nicht?? Ich fang gerade erst so richtig an mit tk. bei cgi's sind objekte ja völlig wurst. werden nach dem ausführen ja eh vernichtet aber mit tk....

Höre mir gern deine Vorschläge an.
Crian
 2005-07-27 18:34
#44196 #44196
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Moderator sind hier viele ^^

Warum sollen objektorientierte Ansätze für CGIs "völlig wurst" sein?

Ich sag ja nicht, dass Du das notwendiger Weise nicht brauchst. Es war reine Neugier, die hinter meiner Frage steckte. Allerdings hab ich sowas noch nicht gebraucht.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 9 Einträge, 1 Seite



View all threads created 2005-07-19 12:34.