Thread Tk::Schedule in eigenes Skript einbinden (Win7) (6 answers)
Opened by ausgeraul at 2013-03-27 08:30

ausgeraul
 2013-03-30 09:02
#166756 #166756
User since
2013-03-26
3 Artikel
BenutzerIn
[default_avatar]
Hallo GUIfreund,
du hast Recht, das Code erklärt die Problematik nicht ganz. Ich versuche aber im folgenden Code mein Problem besser beschreiben:
Code (perl): (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
# Script Schedule.pl
use Tk;
use Win32::Process;
use Tk::Schedule;

my ($EntryMan, $TL, $Process);
my $Command = "C:\\Perl\\bin\\perl.exe";
my $Inherit = 0;
my $Dir = ".";
my $mw = MainWindow->new;
$mw->title("MainWindow");
$mw->Entry(-selectbackground=>'white',-selectforeground=>'black',-textvariable=>\$EntryMan)->pack();
$mw->Button(-text=>"Schedule",-command=>\&doTopLevel)->pack();
MainLoop;
sub doTopLevel
{
        if(!Exists($TL))
        {
        $TL=$mw->Toplevel();
        $TL->title("Schedule-Modul");
        $TL->Schedule( 
                -interval => 30,
                -repeat => "once",
                -command =>[\&getProcess, $EntryMan],
                -comment => "Do an activity")->pack();
        } else {
        $TL->deiconify();
        $TL->raise();
        }
}

sub getProcess
{
my ($EntryTest) = shift;
my $MyArg = "perl test.pl -a $EntryTest";
Win32::Process::Create($Process,
                $Command,
                $MyArg,
                $Inherit,
                NORMAL_PRIORITY_CLASS,
                $Dir) or die Win32::FormatMessage(Win32::GetLastError());
}


Code (perl): (dl )
1
2
3
4
5
6
# Script test.pl
use vars qw{ $opt_a };
use Getopt::Std;
getopts('a:') or finish(1);

system("echo String: $opt_a\n");


Mein Problem besteht darin, dass auch in diesem Konstrukt die Variable nicht übergeben wird. Schedule ignoriert einfach Anweisungen, wenn es um Variablen geht, die von außen einfließen.

modedit Editiert von pq: CODE-TAGS HINZUGEFÜGT!
Last edited: 2013-03-30 11:54:23 +0100 (CET)

View full thread Tk::Schedule in eigenes Skript einbinden (Win7)