Error: Cannot jump from inside a function to outside. Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

effel
Posts: 542
Joined: 16 Jan 2018, 13:34

Error: Cannot jump from inside a function to outside.

21 Mar 2018, 04:10

hallo ahk gemeinde,
wenn ich mit try/catch eine fehlermeldung abfange, darf im catch bereich nicht der sprung:

goto restSizeAlarm

stehen, ansonsten bekomme ich folgende fehlermeldung

Code: Select all

---------------------------
test.ahk
---------------------------
Error:  Cannot jump from inside a function to outside.

	Line#
	034: Return
	035: }
	036: Catch,e
	037: {
	038: SoundBeep,2000,2000
	039: alarmEmail = on
	040: MsgBox,0,Power Director Alert,Keine Internetverbindung,2
--->	041: Goto,restSizeAlarm
	042: Return
	043: }
	043: }
	044: Exit
	045: Exit
	045: Exit

The program will exit.
---------------------------
OK   
---------------------------
was mache ich falsch, bzw, wie kann ich die sprungadresse restSizeAlarm erneut aufrufen?

hier der gesamte code:

Code: Select all

SendGmail("test","[email protected]")


restSizeAlarm:
return


SendGmail(message,emailto){
Try 
{	
	pmsg := ComObjCreate("CDO.Message")
	pmsg.From := """DeinName"" <[email protected]>"
	pmsg.To := """DeinName"" <[email protected]>"
	pmsg.Subject := "TestSubject"
	pmsg.TextBody := message
	
	fields := Object()
	fields.smtpserver := "smtp.gmail.com"
	fields.smtpserverport := 465
	fields.smtpusessl := True
	fields.sendusing := 2
	fields.smtpauthenticate := 1
	fields.sendusername := "[email protected]"
	fields.sendpassword := "DeinGmailPassort"
	fields.smtpconnectiontimeout := 60
	
	schema := "http://schemas.microsoft.com/cdo/configuration/"
	pfld := pmsg.Configuration.Fields
	For field,value in fields
		pfld.Item(schema . field) := value
	pfld.Update()
	pmsg.Send()
	pmg.Close
	Return
}
catch e 
{
	soundbeep, 2000, 2000
        alarmEmail = on
	msgbox, 0, Power Director Alert, Keine Internetverbindung, 2
       goto restSizeAlarm
	Return
}}

just me
Posts: 9423
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Error: Cannot jump from inside a function to outside.

21 Mar 2018, 05:46

Moin,

der von Dir eingestellte Code 'fällt' in jedem Fall in das Label restSizeAlarm:. Was genau wolltest Du mit dem Goto bezwecken?
effel
Posts: 542
Joined: 16 Jan 2018, 13:34

Re: Error: Cannot jump from inside a function to outside.

21 Mar 2018, 07:36

ich wollte damit erreichen, das die aktion eine mail zu senden, im falle einer fehlermeldung, nochmal ausgeführt wird
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Error: Cannot jump from inside a function to outside.  Topic is solved

21 Mar 2018, 07:46

was mache ich falsch, bzw, wie kann ich die sprungadresse restSizeAlarm erneut aufrufen?
a) das sagt die fehlermeldung ja glasklar aus. Sinngemäß: versuch die funktion regelwidrig zu verlassen.
b) der funktion beim ausstieg (Return) einen errorlevel mitgeben und über diesen mittels einer bedingung einen erneuten funktionsaufruf anstoßen.

Code: Select all

subj := "TestSubject"
body := "TestBody"
recv := "[email protected]"

res := SendGmail(subj,body,recv)
log := (res != 0) ? SendGmail(subj,body,recv) : A_Now . " - " . recv . " - " . res . "`n"     ; wenn errorlevel NICHT '0' (es gab ein problem) erneuter funktionsaufruf, sonst ...
FileAppend,% log, SendGmail.log    ; ... schreibe eine sendebestätigung.

SendGmail(subject,body,receiver){
Try 
{	
	pmsg := ComObjCreate("CDO.Message")
	pmsg.From := """DeinName"" <[email protected]>"
	pmsg.To := receiver
	pmsg.Subject := subject
	pmsg.TextBody := body
	
	fields := Object()
	fields.smtpserver := "smtp.gmail.com"
	fields.smtpserverport := 465
	fields.smtpusessl := True
	fields.sendusing := 2
	fields.smtpauthenticate := 1
	fields.sendusername := "[email protected]"
	fields.sendpassword := "DeinGmailPassort"
	fields.smtpconnectiontimeout := 60
	
	schema := "http://schemas.microsoft.com/cdo/configuration/"
	pfld := pmsg.Configuration.Fields
	For field,value in fields
		pfld.Item(schema . field) := value
	pfld.Update()
	pmsg.Send()
	pmg.Close
	Return 0    ; <= durchlauf ohne probleme retourniere/return den errorlevel '0'
    }
catch e 
{
	soundbeep, 2000, 2000
	msgbox, 0, Power Director Alert, Keine Internetverbindung, 2
	Return 1    ; <= durchlauf ergab ein problem retourniere/return den errorlevel '1'
    }
}
[edited] Entfernung des if-befehls im ternary-operator, nach anmerkung von just-me (s.u.)
garry
Posts: 3736
Joined: 22 Dec 2013, 12:50

Re: Error: Cannot jump from inside a function to outside.

21 Mar 2018, 09:27

die Fehlermeldung vom catch e

Code: Select all

;....
catch e
{
	soundbeep,400, 700
        alarmEmail = on
        xxx:=e.Message
        msgbox, 262208,ERROR,Error=`n%xxx%`n------------------------------------------`n
	Return
}
effel
Posts: 542
Joined: 16 Jan 2018, 13:34

Re: Error: Cannot jump from inside a function to outside.

21 Mar 2018, 09:49

danke bobo und garry, meint ihr das dann so?

bin unterwegs und kann das erst heute abend testen

verstehe nicht was die 0 und die 1 hinter dem return in bobos antwort für eine bedeutung haben

Code: Select all

;....
catch e
{
	 xxx:=e.Message
        if xxx = WasAuchImmer
        goto goto restSizeAlarm
       	Return
}
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: Error: Cannot jump from inside a function to outside.

21 Mar 2018, 10:27

GoTo sollte man allgemein nicht verwenden. Es ist gut für den Anfang um einfach Fortschritte zu erzielen.
Verursacht jedoch Probleme sobald man Fortgeschrittene Sachen macht - catch ist definitiv Fortgeschritten.
Funktionen können Ergebnisse zurückgeben. Bei BoBos Beispiel gibt es eine 0 zurück wenn es erfolgreich war und eine 1 wenn es das nicht war.
Diese Ergebnisse kann man wieder in Variablen verwenden und mit if verwenden etc.
Recommends AHK Studio
effel
Posts: 542
Joined: 16 Jan 2018, 13:34

Re: Error: Cannot jump from inside a function to outside.

22 Mar 2018, 07:08

vielen dank, es funktioniert

diese zeile im code von bobo habe ich leider nicht verstanden, konnte jedoch mit "versuch und Irrtum tests" den sinn der zeile anders umsetzen

Code: Select all

log := If (res != 0) ? SendGmail(subj,body,recv) : DateTime . " - " . recv . " - " . res . "`n"

Code: Select all

subj := "TestSubject"
body := "TestBody"
recv := "[email protected]"

FormatTime, DateTime, A_NowUTC, dddd d.MMMM.yyyy HH:mm:ss tt
res := SendGmail(subj,body,recv)
ErrorLevel = % res
log := DateTime . " - " . recv . " - " . ErrorLevel . "`n"
; log := If (res != 0) ? SendGmail(subj,body,recv) : DateTime . " - " . recv . " - " . res . "`n"
FileAppend,% log, SendGmail.log

SendGmail(subject,body,receiver){
Try 
{	
	pmsg := ComObjCreate("CDO.Message")
	pmsg.From := """ScriptMail"" <[email protected]>"
	pmsg.To := receiver
	pmsg.Subject := subject
	pmsg.TextBody := body
	
	fields := Object()
	fields.smtpserver := "smtp.gmail.com"
	fields.smtpserverport := 465
	fields.smtpusessl := True
	fields.sendusing := 2
	fields.smtpauthenticate := 1
	fields.sendusername := "[email protected]"
	fields.sendpassword := "4711"
	fields.smtpconnectiontimeout := 60
	
	schema := "http://schemas.microsoft.com/cdo/configuration/"
	pfld := pmsg.Configuration.Fields
	For field,value in fields
		pfld.Item(schema . field) := value
	pfld.Update()
	pmsg.Send()
	pmg.Close
	Return 0
    }
catch e 
{
	Return 1
    }
}
gibt es auch die möglichkeit mit dieser mailsend funktion einen anhang mit zu senden?
just me
Posts: 9423
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Error: Cannot jump from inside a function to outside.

22 Mar 2018, 07:42

Moin,

in dieser Version findet sich eine Zeile

Code: Select all

		pmsg.AddAttachment(sAttach)
Du kannst das ja mal versuchen.

Übrigens:

Code: Select all

	pmg.Close
Wenn das gebraucht wird und funktionieren soll, fehlt da auch jeden Fall ein s.

Übrigens 2:
Das

Code: Select all

ErrorLevel = % res
macht wenig Sinn. Wenn Du schon mit % einen Ausdruck erzwingst, kannst Du auch gleich die 'Ausdruckssyntax' verwenden:

Code: Select all

ErrorLevel := res
.
Übrigens 3:

Code: Select all

log := If (res != 0) ? SendGmail(subj,body,recv) : DateTime . " - " . recv . " - " . res . "`n"
ist falsch. Das If hat da nichts zu suchen.
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Error: Cannot jump from inside a function to outsideb

22 Mar 2018, 07:55

just me wrote:Übrigens 3.

Code: Select all

log := If (res != 0) ? SendGmail(subj,body,recv) : DateTime . " - " . recv . " - " . res . "`n"
ist falsch. Das If hat da nichts zu suchen.
Damit lege ich mich regelmäßig selbst herein :crazy: :shh: Merci für den mecker. Das wirkt dann doch ab und an mal :mrgreen:

Von seiner ursprungsforderung "wenn fehler, neuer versuch" ist ja nicht viel übrig geblieben :silent:
effel
Posts: 542
Joined: 16 Jan 2018, 13:34

Re: Error: Cannot jump from inside a function to outside.

22 Mar 2018, 15:55

BoBo wrote:Von seiner ursprungsforderung "wenn fehler, neuer versuch" ist ja nicht viel übrig geblieben :silent:
findest du? im gegenteil, mit deinem anstupser habe ich mein problem gelöst

Code: Select all

Return 1
war das zauberwort 8-)
effel
Posts: 542
Joined: 16 Jan 2018, 13:34

Re: Error: Cannot jump from inside a function to outside.

23 Mar 2018, 02:43

@just me
ich habe das s hinzugefügt.
just me wrote: Übrigens:

Code: Select all

	pmg.Close
Wenn das gebraucht wird und funktionieren soll, fehlt da auch jeden Fall ein s.
das erzeugt jedoch eine fehlermeldung. dann habe ich die zeile komplett ausgeklammert, und die fehlermeldung erscheint nicht mehr. Die mail wird jedoch auf jeden fall gesendet, nur weil ich mit garrys hilfe
garry wrote:die Fehlermeldung vom catch e

Code: Select all

;....
catch e
{
	soundbeep,400, 700
        alarmEmail = on
        xxx:=e.Message
        msgbox, 262208,ERROR,Error=`n%xxx%`n------------------------------------------`n
	Return
}
die fehlermeldung auffange bekomme ich es überhaupt mit. ich nehme an das close bezweckt das der prozess geschlossen wird? kann ich das auch weglassen?
SendGmail.log:

Code: Select all

Freitag 23.März.2018 08:15:15 - [email protected] - 0
Freitag 23.März.2018 08:17:20 - [email protected] - 0

####################################
Freitag 23.März.2018 08:18:18 - [email protected] - 1

0x80020006 - Unbekannter Name.

####################################

Freitag 23.März.2018 08:19:16 - [email protected] - 0
Freitag 23.März.2018 08:21:44 - [email protected] - 0

Code: Select all

subj := "TestSubject"
body := "TestBody"
recv := "[email protected]"

FormatTime, DateTime, A_NowUTC, dddd d.MMMM.yyyy HH:mm:ss tt
res := SendGmail(subj,body,recv)
ErrorLevel := res
log := DateTime . " - " . recv . " - " . ErrorLevel . "`n"
If ErrorLevel = 0
FileAppend,% log, SendGmail.log
return


SendGmail(subject,body,receiver){
Try 
{	
	pmsg := ComObjCreate("CDO.Message")
	pmsg.From := """ScriptMail"" <[email protected]>"
	pmsg.To := receiver
	pmsg.Subject := subject
	pmsg.TextBody := body
	
	fields := Object()
	fields.smtpserver := "smtp.gmail.com"
	fields.smtpserverport := 465
	fields.smtpusessl := True
	fields.sendusing := 2
	fields.smtpauthenticate := 1
	fields.sendusername := "[email protected]"
	fields.sendpassword := "defghijk1ashkjhd"
	fields.smtpconnectiontimeout := 60
	
	schema := "http://schemas.microsoft.com/cdo/configuration/"
	pfld := pmsg.Configuration.Fields
	For field,value in fields
		pfld.Item(schema . field) := value
	pfld.Update()
	pmsg.Send()
	; pmsg.Close
	pmg.Close
	Return 0
    }
catch e 
{
        xxx:=e.Message
        StringReplace, xxx, xxx, `n, `r`n, All
        FormatTime, DateTime, A_NowUTC, dddd d.MMMM.yyyy HH:mm:ss tt
        log := DateTime . " - " . receiver . " - " . 1 . "`n"
        FileAppend,% "`r`n####################################" . "`r`n" . log . "`r`n" . xxx . "`r`n####################################`r`n`r`n", SendGmail.log
       	Return 1
    }
}
just me
Posts: 9423
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Error: Cannot jump from inside a function to outside.

23 Mar 2018, 05:25

Moin,

das CDO.Message Objekt hat wohl keine Close Methode (siehe IMessage Interface), darum kannst Du das getrost weglassen.

Dieser Artikel könnte interessant für Dich sein.
effel
Posts: 542
Joined: 16 Jan 2018, 13:34

Re: Error: Cannot jump from inside a function to outside.

23 Mar 2018, 09:26

@just me
just me wrote:Moin,

in dieser Version findet sich eine Zeile

Code: Select all

		pmsg.AddAttachment(sAttach)
Du kannst das ja mal versuchen.
danke, das war der richtige hilfe link für mich. das versenden einer datei funktioniert sehr gut. bei dem versuch mehr als eine datei zu senden scheitere ich zwar mit einer fehlermeldung, aber wenn ich sie vorher zippe ist das kein problem mehr

Code: Select all

atch := A_ScriptFullPath . "," . logfile
hier der ganze code:

Code: Select all

#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
SetBatchLines, -1

logfile := A_ScriptDir . "\SendGmail.log"

subj := "TestSubject"
body := "TestBody"
recv := "[email protected]"
atch := logfile

FormatTime, DateTime, A_NowUTC, dddd d.MMMM.yyyy HH:mm:ss tt
res := SendGmail(subj,body,recv,atch)
ErrorLevel := res
log := DateTime . " - " . recv . " - " . ErrorLevel . "`n"
If ErrorLevel = 0
FileAppend,% log, SendGmail.log
return


SendGmail(subject,body,receiver,attachment){
Try 
{	
	pmsg := ComObjCreate("CDO.Message")
	pmsg.From := """ScriptMail"" <[email protected]>"
	pmsg.To := receiver
	pmsg.Subject := subject
	pmsg.TextBody := body
        pmsg.AddAttachment(attachment)
	
	fields := Object()
	fields.smtpserver := "smtp.gmail.com"
	fields.smtpserverport := 465
	fields.smtpusessl := True
	fields.sendusing := 2
	fields.smtpauthenticate := 1
	fields.sendusername := "[email protected]"
	fields.sendpassword := "effelsPasswort"
	fields.smtpconnectiontimeout := 60
	
	schema := "http://schemas.microsoft.com/cdo/configuration/"
	pfld := pmsg.Configuration.Fields
	For field,value in fields
		pfld.Item(schema . field) := value
	pfld.Update()
        pmsg.Send()
	Return 0
    }
catch e 
{
        xxx := e.Message
        xxx := StrReplace(xxx, "`n", "`r`n", All)
        FormatTime, DateTime, A_NowUTC, dddd d.MMMM.yyyy HH:mm:ss tt
        log := DateTime . " - " . receiver . " - " . 1 . "`n"
        FileAppend,% "`r`n####################################" . "`r`n" . log . "`r`n" . xxx . "`r`n####################################`r`n`r`n", SendGmail.log
       	Return 1
    }
}
just me
Posts: 9423
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Error: Cannot jump from inside a function to outside.

23 Mar 2018, 11:35

bei dem versuch mehr als eine datei zu senden scheitere ich zwar mit einer fehlermeldung, ...
Wie sieht der Versuch aus, und wie die Fehlermeldung?
effel
Posts: 542
Joined: 16 Jan 2018, 13:34

Re: Error: Cannot jump from inside a function to outside.

23 Mar 2018, 11:39

habe versucht ein komma zwischen die files zu setzen

Code: Select all

atch := A_ScriptFullPath . "," . logfile

Code: Select all

0x8007007B - Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.

Source:		CDO.Message.1
Description:	Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.


HelpFile:		(null)
HelpContext:	0
just me
Posts: 9423
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Error: Cannot jump from inside a function to outside.

23 Mar 2018, 11:47

Probiere lieber, jeder Datei ein eigenes AddAttachment zu spendieren.
effel
Posts: 542
Joined: 16 Jan 2018, 13:34

Re: Error: Cannot jump from inside a function to outside.

23 Mar 2018, 12:08

meinst du das so?

Code: Select all

1atch := file01
2atch := file01
3atch := file01
.....

res := SendGmail(subj,body,recv,1atch,2atch,3atch)
.....

SendGmail(subject,body,receiver,1attachment,2attachment,3attachment){
Try 
{	
	pmsg := ComObjCreate("CDO.Message")
	pmsg.From := """ScriptMail"" <[email protected]>"
	pmsg.To := receiver
	pmsg.Subject := subject
	pmsg.TextBody := body
        pmsg.AddAttachment(1attachment)
        pmsg.AddAttachment(2attachment)
        pmsg.AddAttachment(3attachment)
	
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: Error: Cannot jump from inside a function to outside.

23 Mar 2018, 12:13

Man würde hier eher einen array verwenden:

Code: Select all

sendGmail( "Bachelor XYZ", "Sehr geehrter Professor...",..., [ "Bachelor Datei1.jpg", "Bachelor Datei2.jpg", "Bachelor Datei3.jpg" ] )

SendGmail( subject, bod..., attatchments ) {
	;...
		for each, attatchment in attatchments
			pmsg.AddAttachment(attachment)
	;..
}
Recommends AHK Studio
effel
Posts: 542
Joined: 16 Jan 2018, 13:34

Re: Error: Cannot jump from inside a function to outside.

27 Mar 2018, 08:50

hallo ahk gemeinde,
leider schaffe ich es nicht, die von nnnik vorgeschlagene array änderung umzusetzen. es fehlt mir einfach am grundwissen. ich lese viel im forum und in der hilfe, aber ich kapiere es einfach nicht. :crazy:

vielleicht kann mir jemand einen etwas festeren anstosser geben :shock:

dann habe ich das script compiliert, was jedoch beim aufruf eine fehlermeldung erzeugt.
als ahk läuft es einwandfrei, als exe bekomme ich folgende meldung:

Code: Select all

0x80040211 - 
Source:		(null)
Description:	Die Nachricht konnte nicht an den SMTP-Server gesendet werden. Der Transportfehlercode lautet 0x800ccc6d. Die Serverantwort lautet 552 5.7.0 message content and attachment content guidelines. j3sm1952008wra.19 - gsmtp
HelpFile:		(null)
HelpContext:	0
ich habe das script etwas aufgeräumt und mit kommentaren versehen, so ist es hoffentlich für den leser etwas übersichtlicher:

Code: Select all

/* ich weiss nicht ob hiervon etwas in das script rein gehört
#NoEnv
SendMode Input
SetBatchLines, -1
*/
SetWorkingDir %A_ScriptDir%

FormatTime, DateTime, A_NowUTC, dddd d.MMMM.yyyy HH:mm:ss tt      ; Samstag 24.März.2018 05:20:37

logfile1 := A_ScriptDir . "\log\SendGmail.log"                    ; Log Datei
logfile2 := A_ScriptDir . "\log\SendGmail_error.log"              ; Error Log Datei

IfNotExist % logfile1
  {
  FileCreateDir % A_ScriptDir . "\log"
  FileAppend % "",  % logfile1 ; Leere files erzeugen, sonst kommt beim ersten start eine fehlermeldung
 }           
            
IfNotExist % logfile2
  {
  FileCreateDir % A_ScriptDir . "\log"
  FileAppend % "", % logfile2
 }

fileread AScriptName , % A_ScriptFullPath
fileread log1, % logfile1
fileread log2, % logfile2

sfrom      := """Alert A1"" <[email protected]>"         ; Absender       Ziel:(pmsg.From     := sendfrom)
recv       := """Hansi Peter Lustig"" <[email protected]>"  ; Empfänger      Ziel:(pmsg.To       := receiver)
susername  := "[email protected]"                           ; Konto Mail     Ziel:(fields.sendusername          := sendname)
spassword  := "DeinGmailSenderPasswort1234567"                         ; Konto Passwort Ziel:(fields.sendpassword          := sendpass)
subj       := A_ScriptName . A_Tab . DateTime                          ; Betreff
body       := AScriptName . "`r`n" . log1 . "`r`n" . log2              ; Mailtext
atch1      := A_ScriptFullPath                                         ; Dateianhang 1
atch2      := logfile1                                                 ; Dateianhang 2
atch3      := logfile2                                                 ; Dateianhang 3

res := SendGmail(subj,body,recv,atch1,atch2,atch3,susername,spassword,sfrom)
ErrorLevel := res

if errorlevel = 0
   {
   log := DateTime . " - " . recv . " - " . "OK" . "`n"
   FileAppend, % log, % logfile1
   ToolTip % log
    }else{
         errorlevel := StrReplace(errorlevel, "`n", "`r`n", All)
         msgbox,0,Error,%errorlevel%,1
         log := DateTime . " - " . recv . " - " . "Error" . "`n"
         ToolTip % log
         errorfile := "`r`n###############" . "`r`n" . log . "`r`n" . errorlevel . "`r`n###############`r`n`r`n"
         FileAppend, % errorfile, % logfile2
         FileAppend, % log, % logfile1
}
sleep, 2000
return


SendGmail(subject,body,receiver,att1,att2,att3,sendname,sendpass,sendfrom){
Try 
{	
	pmsg          := ComObjCreate("CDO.Message")
	pmsg.From     := sendfrom
	pmsg.To       := receiver
	pmsg.Cc       := ""
	pmsg.Bcc      := ""
	pmsg.Subject  := subject
	pmsg.TextBody := body
        pmsg.AddAttachment(att1)
        pmsg.AddAttachment(att2)
        pmsg.AddAttachment(att3)
	
	fields                       := Object()
	fields.smtpserver            := "smtp.gmail.com"
	fields.smtpserverport        := 465
	fields.smtpusessl            := True
	fields.sendusing             := 2
	fields.smtpauthenticate      := 1
	fields.sendusername          := sendname
	fields.sendpassword          := sendpass
	fields.smtpconnectiontimeout := 60
	
	schema := "http://schemas.microsoft.com/cdo/configuration/"
	pfld := pmsg.Configuration.Fields
	For field,value in fields
		pfld.Item(schema . field) := value
	pfld.Update()
        pmsg.Send()
	Return 0
    }
catch e 
{
        Return % xxx := e.Message
    }
}
wenn ich den fileversand auklammere funktioniert die compilierte datei

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: Helmut2, Ragnar and 44 guests