Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-05-2007, 12:46   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2007
Beiträge: 1
Question PrintJob: Meldung "Script verlangsamt"?

Hallo,

habe ein Problem mit der printJob Klasse:
Wenn ein Benutzer länger als ein paar Sekunden Braucht seinen Drucker anzugeben (Evtl. Seitenformat einstellt) gibt es nach den klick auf den "Drucken" Button im Windows Dialog die Meldung: "Macromedia Flash Player 8 wird durch ein Script in diesem Film verlangsamt....".

Hat jemand evtl eine Lösung? Wenn man dort auf "Nein" drückt kommt der Ausdruck dann wie gewünscht raus.

Denke irgend ein Watchdog merkt das das Script an der Stelle printJob.start() stehenbleibt und erst nach einer gewissen Zeit wieder weiterläut. Kann man das irgendwie abstellen?

Habe noch etwas gestöbert und bei Adobe auf diesen Satz gestoßen: "The timeout of this alert cannot be altered, however, 15 seconds is about as long as one might want to wait for an application to become responsive." ... Da stellt sich mir die Frage "Wie sag ich's meinem Kunden?"

Vielen Dank für die Hilfe im Voraus.

Hier mal das Script, ist recht umfangreich weil es universell den Movieclip "Fit to Page" drucken soll (Habe noch nicht alle Varianten getestet).
Code:
// Druckfunktion
_global.printForm = function(myTarget:MovieClip):Boolean {
	var isPortrait:Boolean = true;
	var targetW = myTarget._width;
	var targetH = myTarget._height;
	var targetY = myTarget._y;
	//Ist der MC hoch- oder Querformat?
	if (myTarget._width > myTarget._height) {
		isPortrait = false;
	}
	//Initialisierung des printJob
	var myPrintJob = new PrintJob();
	var tmp = myPrintJob.start();
	if (tmp) {
		//Papiergröße ermitteln
		var pw:Number = myPrintJob.pageWidth;
		var ph:Number = myPrintJob.pageHeight;
		var tw:Number = myPrintJob.paperWidth;
		var th:Number = myPrintJob.paperHeight;
		var po:String = myPrintJob.orientation;
		
		//Skalierungsfaktoren berechnen
		if (isPortrait == true) {
			//Größter Faktor ermitteln
			var wratio:Number = myTarget._width/pw;
			var hratio:Number = myTarget._height/ph;
			var myratio:Number;
			trace("wratio: " + wratio + " hratio: " + hratio);
		
			if (wratio > hratio) {
				myratio = wratio;
			} else {
				myratio = hratio;
			}
		} else {
			//Größter Faktor ermitteln
			var wratio:Number = myTarget._width/ph;
			var hratio:Number = myTarget._height/pw;
			var myratio:Number;
		
			if (wratio > hratio) {
				myratio = wratio;
			} else {
				myratio = hratio;
			}
		}

		//Skalierung des aktuellen MCs
		myTarget._width = myTarget._width/myratio;
		myTarget._height = myTarget._height/myratio;
		myTarget._x = (myTarget._x-277)/myratio;
		
		//ggf. Rotation des MCs
		
		if (isPortrait == true && po == "landscape") {
			myTarget._rotation = 90;
			myTarget._y = Stage.height;
		} else if (isPortrait == false && po == "portrait") {
			myTarget._rotation = 90;
			myTarget._y = Stage.height;
		}
		//Drucken		
		if (myPrintJob.addPage(myTarget,{},{printAsBitmap:true})) { //  
			myPrintJob.send(0);
		} else {
			trace("Fehler!");
		}
		
		//MC wiederherstellen
		myTarget._rotation = 0;
		myTarget._width = targetW;
		myTarget._height = targetH;
		myTarget._y = targetY;
	} else {
		trace("Abbruch");
	}
	delete myPrintJob;
	return true;
}

Geändert von harpie (14-05-2007 um 12:52 Uhr)
harpie ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele