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

TK stürzt ab



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
Gast Gast
 2006-05-31 13:34
#45513 #45513
Ich habe im Perl / Tk ein Button welche eine Funktion ausführt in welcher eine While schlaufe ausgeführt wird. Jedenfalls stürzt mir dabei immer das Tk ab, in der Konsole sehe ich aber das das programm selber noch läuft. Kann mir da jmd helfen??

thx
zipster
 2006-05-31 14:43
#45514 #45514
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
moonyforce
 2006-05-31 14:56
#45515 #45515
User since
2006-05-31
3 Artikel
BenutzerIn
[default_avatar]
Mit diesem Befehl (tk):
Code: (dl )
$main->Button(-width => 35, -text => 'Senden', -command => sub { sms_senden_g() })->pack(-in => $frame_third, -anchor => 'ne');


öffne ich folgende Code sequenz:

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
sub sms_senden_g 
{
dat_1();
dat_read();
$empf = 'AT\+CMGS=';
$send = '> ';
$send1 = '+CMGS:';
$pos_empf = 0;

print "Start";
$init = 0;

while ($init == 0 && $end == 1)
{

lesen(); #list aus der COM Schnittstelle falls etwas reinkommt $count = 1


if ($count > 0)
{

if ($return =~ m/$empf/i)
{

$pass = $handle->write("\r\n$send");

print "$send\n";
}
elsif ($return =~ m/$end_of_sms/i) #falls abschlussnachricht
{

$pass = $handle->write("\r\n$send1 $count\r\n");
print "$send1 $count\n";

$temp = "$send1 $count\n";

$pass = $handle->write("\r\nOK\r\n");
print "OK\n";

print "Ende";
dat_0();

}
else
{
quitt();
}
}
else
{
set_timer();
}
}
}


hoffentlich irgendwie verständlich, sonst fragen. Es geht vorallem darum das die Tk oberfläche abstürzt.
Strat
 2006-05-31 19:29
#45516 #45516
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
kannst du die while-schleife durch mehrere CPAN:Tk::after bzw. repeat ersetzen? (bringt aber nur was, wenn jeder schleifendurchlauf recht schnell geht)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Strat
 2006-05-31 19:29
#45517 #45517
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
CPAN:Tk::Event koennte auch was fuer dich sein
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
ptk
 2006-06-01 03:12
#45518 #45518
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wird in der Unterprogrammaufrufen irgendwo ein fork() gemacht?
moonyforce
 2006-06-01 12:21
#45519 #45519
User since
2006-05-31
3 Artikel
BenutzerIn
[default_avatar]
nein ich habe nirgends ein folk().

es wäre umständlich die while scheifen zu ersetzten da ich ca. 15 solcher habe. Die while schlaufen laufen zwischen ca. 10 nud 150s.
renee
 2006-06-01 12:35
#45520 #45520
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Beutzt Du Wiki:strict und warnings?

Gibt es irgendwelche Fehlermeldungen auf der Konsole?

Welche Perl-Version?
Welche Tk-Version?
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/
moonyforce
 2006-06-01 13:14
#45521 #45521
User since
2006-05-31
3 Artikel
BenutzerIn
[default_avatar]
[quote=renee,01.06.2006, 10:35][/quote]
nein benutz ich nicht.
Es gibt auch keine Fehlermeldung auf der konsole, einfach die tk oberfläche reagiert nicht mehr (der button ist immer noch gedrückt) und stürzt ab.

Perl Version: 5.8
Tk Version: kA
renee
 2006-06-01 15:02
#45522 #45522
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie äußert sich das "stürzt ab"? Ich vermute jetzt mal, dass es gar nicht wirklich abstürzt, Du aber darauf "reinfällst", dass das Programm "endlos" auf irgendwas wartet und das Tk-Fenster deshalb nicht aktualisiert wird.

Tk arbeitet sequentiell und nicht parallel (siehe auch Wiki:Artikel).
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/
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2006-05-31 13:34.