Zurück   Flashforum > Flex und AIR > Adobe AIR

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-09-2010, 12:41   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
SQL Connection

Ich habe eine SQLConnection angelegt und greife darauf zu. Der User kann werte löschen und hinzufügen. Im DebugModus geht es wunderbar, doch im release funktioniert es garnicht.
Hat jemand eine Idee warum?

Compiler ist auf use-network=false

Vielen Dank
hothead89 ist offline   Mit Zitat antworten
Alt 20-09-2010, 13:02   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Das ist doch dein erster Post hier und dir müsste klar sein, dass man mehr Infos braucht, um helfen zu können.
Omega Psi ist offline   Mit Zitat antworten
Alt 21-09-2010, 08:34   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
ja sorry,
dachte nur dass es irgendwie vielleicht schon ne vorahnung giebt, weil ich kann nicht meinen ganzen code einfach kopieren und pasten weil da noch einiges mehr dabei is was unwichtig is. aber ich werde meine Situation gleich mal besser darstellen:

Also es soll von einem AIR - MiniSpiel, der Speicherstand dreier GameSlots gespeichert werden.

dazu hab ich mehrere Funktionen:

Code:
private var m_mcMainClass:MovieClip;
		private var m_btnStartGame:SimpleButton = new SimpleButton();
		private var m_sqlconnGameSlots:SQLConnection;
		private var m_sqlstmtGameTable:SQLStatement;
		private var m_sqlstmtSelectQuery:SQLStatement;
		private var m_sqlstmtSelectQuery2:SQLStatement;
		private var m_sqlstmtUpdateQuery:SQLStatement;
		private var m_dbFile:File;
		
		private var m_arrayResultsLoading:Array = new Array();
		
		public static var m_intSlotNo:int;
		public var m_strSlotName:String;
		private var m_intSlotDelete:int;

//-------------------------------------------------------------------------------------------
// CONSTRUCTOR
//-------------------------------------------------------------------------------------------
		
		public function ScreenLoadGame ( _mcMainClass:MovieClip ) : void
		{
			//set Variables
			
			m_mcMainClass = _mcMainClass;
			m_sqlconnGameSlots = new SQLConnection ();
			m_sqlstmtGameTable = new SQLStatement ();
			m_sqlstmtSelectQuery = new SQLStatement ();
			m_sqlstmtSelectQuery2 = new SQLStatement();	
			
			m_sqlstmtUpdateQuery = new SQLStatement();
			
			addEventListeners();
			
			startSQLConnection();
			
		}


//-------------------------------------------------------------------------------------------
//  SQL FUNCTIONS
//-------------------------------------------------------------------------------------------	
		
		private function startSQLConnection() : void
		{
			m_dbFile = File.applicationDirectory.resolvePath("GameData/SaveGames/Gamedata.db");		
			m_sqlconnGameSlots.open( m_dbFile );
		}
		
		private function sqlOpend ( event : SQLEvent ) : void
		{
			m_sqlconnGameSlots.removeEventListener( SQLEvent.OPEN, sqlOpend );
			m_sqlconnGameSlots.removeEventListener( SQLErrorEvent.ERROR, sqlErrorCatch );
			createTable();
		}
		
		private function createTable () : void
		{
			
			trace("addTo");
			m_sqlstmtGameTable.sqlConnection = m_sqlconnGameSlots;
			var strSQLQuery:String = "CREATE  TABLE IF NOT EXISTS `VerbuggedGameSlots` (";
  				strSQLQuery += "`VerbuggedGameSlotID` INT NOT NULL PRIMARY KEY AUTOINCREMENT ,";
 				strSQLQuery += "`Slotname` VARCHAR(45),";
 				strSQLQuery += "`SavePlace` INT,";
				strSQLQuery += "`SaveQuests` INT,";
  				strSQLQuery += "`Ressources` INT,";
  				strSQLQuery += "`SuckLevel` INT,";
  				strSQLQuery += "`RadarLevel` INT,";
				strSQLQuery += "`Date` VARCHAR(45),";
  				strSQLQuery += "`SlotTaken` BOOLEAN";
  				strSQLQuery += ")";
				trace("addToFinished");
								
			m_sqlstmtGameTable.text = strSQLQuery;
			
			m_sqlstmtGameTable.execute();
		}
		
		private function createTableResult ( event : SQLEvent ) : void
		{
			m_sqlstmtGameTable.removeEventListener( SQLEvent.RESULT, createTableResult );
			m_sqlstmtGameTable.removeEventListener( SQLErrorEvent.ERROR, createTableError );
			testIfSlotsAreCreated();
		}
		
		private function testIfSlotsAreCreated  () : void
		{
			trace("SelecteID");
			m_sqlstmtSelectQuery.sqlConnection = m_sqlconnGameSlots;
			m_sqlstmtSelectQuery.text = "SELECT VerbuggedGameSlotID FROM VerbuggedGameSlots";
			m_sqlstmtSelectQuery.execute();
			trace("SelecteIDFinished");
		}
		
		private function selectionIdResult ( event : SQLEvent ) : void
		{
			m_sqlstmtSelectQuery.removeEventListener( SQLEvent.RESULT, selectionIdResult );
			m_sqlstmtSelectQuery.removeEventListener( SQLErrorEvent.ERROR, selectionIdError );
			
			var selectionResult:SQLResult = m_sqlstmtSelectQuery.getResult();
			var arrayTestForInserts:Array = new Array();
			arrayTestForInserts = selectionResult.data as Array;
			
			if ( arrayTestForInserts == null )
			{
				var i:int;
				
				for ( i = 0; i < 3; i++ )
				{									
					var sqlstmtInsertQuery:SQLStatement = new SQLStatement();
					sqlstmtInsertQuery.sqlConnection = m_sqlconnGameSlots;
					trace("InsertValues");
					var insertQuery:String =
									"INSERT INTO `VerbuggedGameSlots` ( `Slotname`, `SaveQuests` `SavePlace`, `Ressources`, `SuckLevel`, `RadarLevel`, `SlotTaken` ) VALUES ( 'empty', 0, 0, 0, 0, 0, false)";
					
					sqlstmtInsertQuery.text = insertQuery;
					
					sqlstmtInsertQuery.addEventListener( SQLEvent.RESULT, insertCompleted, false, 0, true );
					
					sqlstmtInsertQuery.execute();
				}

			}
			else
				insertCompleted( null );
			
		}
		
		private function insertCompleted ( event : SQLEvent ) : void
		{
			trace("insert competed");
			m_sqlstmtSelectQuery2.addEventListener( SQLEvent.RESULT, selectionSlots, false, 0, true );
			m_sqlstmtSelectQuery2.addEventListener( SQLErrorEvent.ERROR, selectionSlotsError, false, 0, true );
			m_sqlstmtSelectQuery2.sqlConnection = m_sqlconnGameSlots;
			m_sqlstmtSelectQuery2.text = "SELECT * FROM VerbuggedGameSlots";
			m_sqlstmtSelectQuery2.execute();
			trace("insert Done");
		}
		
		
		private function selectionSlots ( event : SQLEvent ) : void
		{
			m_sqlstmtSelectQuery2.removeEventListener( SQLEvent.RESULT, selectionSlots );
			m_sqlstmtSelectQuery2.removeEventListener( SQLErrorEvent.ERROR, selectionSlots );
			
			var selectionResult:SQLResult = m_sqlstmtSelectQuery2.getResult();
			
			m_arrayResultsLoading = selectionResult.data as Array;
			
			var i:int;
			for ( i = 0; i < 3; i++ )
			{
				
				if (m_arrayResultsLoading[i].SlotTaken)
				{
					if ( i == 0 )
					{
						MovieClip(this.getChildByName("btnSlotOne")).gotoAndStop("load");
						TextField(MovieClip(this.getChildByName("btnSlotOne")).getChildByName("txtQuest")).text = m_arrayResultsLoading[1].SaveQuests.toString() + " / 4";
						TextField(MovieClip(this.getChildByName("btnSlotOne")).getChildByName("txtRessource")).text = m_arrayResultsLoading[1].Ressources.toString();
						TextField(MovieClip(this.getChildByName("btnSlotOne")).getChildByName("txtDate")).text = m_arrayResultsLoading[1].Date.toString();
						this.getChildByName("btnSlotDelete1").visible = true;
						this.getChildByName("btnSlotDelete1").addEventListener( MouseEvent.CLICK, deleteSlots, false, 0, true );
					}
					else if ( i == 1 )
					{
						MovieClip(this.getChildByName("btnSlotTwo")).gotoAndStop("load");
						TextField(MovieClip(this.getChildByName("btnSlotTwo")).getChildByName("txtQuest")).text = m_arrayResultsLoading[1].SaveQuests.toString() + " / 4";
						TextField(MovieClip(this.getChildByName("btnSlotTwo")).getChildByName("txtRessource")).text = m_arrayResultsLoading[1].Ressources.toString();
						TextField(MovieClip(this.getChildByName("btnSlotTwo")).getChildByName("txtDate")).text = m_arrayResultsLoading[1].Date.toString();
						this.getChildByName("btnSlotDelete2").visible = true;
						this.getChildByName("btnSlotDelete2").addEventListener( MouseEvent.CLICK, deleteSlots, false, 0, true );
					}
					else
					{
						MovieClip(this.getChildByName("btnSlotThree")).gotoAndStop("load");
						TextField(MovieClip(this.getChildByName("btnSlotThree")).getChildByName("txtQuest")).text = m_arrayResultsLoading[1].SaveQuests.toString() + " / 4";
						TextField(MovieClip(this.getChildByName("btnSlotThree")).getChildByName("txtRessource")).text = m_arrayResultsLoading[1].Ressources.toString();
						TextField(MovieClip(this.getChildByName("btnSlotThree")).getChildByName("txtDate")).text = m_arrayResultsLoading[1].Date.toString();
						this.getChildByName("btnSlotDelete3").visible = true;
						this.getChildByName("btnSlotDelete3").addEventListener( MouseEvent.CLICK, deleteSlots, false, 0, true );
					}
				}
				else
				{
					if ( i == 0 )
					{
						MovieClip(this.getChildByName("btnSlotOne")).gotoAndStop("new");
						this.getChildByName("btnSlotDelete1").visible = false;
					}
					else if ( i == 1 )
					{
						MovieClip(this.getChildByName("btnSlotTwo")).gotoAndStop("new");
						this.getChildByName("btnSlotDelete2").visible = false;
					}
					else
					{
						MovieClip(this.getChildByName("btnSlotThree")).gotoAndStop("new");
						this.getChildByName("btnSlotDelete3").visible = false;
					}
				}
			}
			
		}
		
		private function deleteSlots ( event : MouseEvent ) : void
		{
			var questWindow:SlotDeleteWindow = new SlotDeleteWindow ( this, m_mcMainClass );
			if ( event.currentTarget.name == "btnSlotDelete1" )
				m_intSlotDelete = 1;
			else if ( event.currentTarget.name == "btnSlotDelete2" )
				m_intSlotDelete = 2;
			else if ( event.currentTarget.name == "btnSlotDelete3" )
				m_intSlotDelete = 3;
		}
		
		public function deleteSlot () : void
		{		
			m_sqlstmtUpdateQuery.sqlConnection = m_sqlconnGameSlots;
			m_sqlstmtUpdateQuery.text = "UPDATE VerbuggedGameSlots SET SavePlace='0', SaveQuests='0', " +
				"Ressources='0', SuckLevel='0'," +
				"RadarLevel='0', Date='0', SlotTaken=false WHERE VerbuggedGameSlotID = "+ m_intSlotDelete +"";
			m_sqlstmtUpdateQuery.execute();
			
			if ( m_intSlotDelete == 1 )
			{
				MovieClip(this.getChildByName("btnSlotOne")).gotoAndStop("new");
				this.getChildByName("btnSlotDelete1").visible = false;
			}
			else if ( m_intSlotDelete == 2 )
			{
				MovieClip(this.getChildByName("btnSlotTwo")).gotoAndStop("new");
				this.getChildByName("btnSlotDelete2").visible = false;
			}
			else
			{
				MovieClip(this.getChildByName("btnSlotThree")).gotoAndStop("new");
				this.getChildByName("btnSlotDelete3").visible = false;
			}
			
		}
		
//-------------------------------------------------------------------------------------------
//  SQLError FUNCTIONS
//-------------------------------------------------------------------------------------------	
............................
		
//-------------------------------------------------------------------------------------------
//  EVENTLISTENERS - ADD AND REMOVE
//-------------------------------------------------------------------------------------------
		
		private function addEventListeners( ) : void
		{
			
			this.getChildByName("btnSlotOne").addEventListener( MouseEvent.CLICK, removeScreenLoadGame, false, 0, true );
			this.getChildByName("btnSlotTwo").addEventListener( MouseEvent.CLICK, removeScreenLoadGame, false, 0, true );
			this.getChildByName("btnSlotThree").addEventListener( MouseEvent.CLICK, removeScreenLoadGame, false, 0, true );
			
			m_sqlconnGameSlots.addEventListener( SQLEvent.OPEN, sqlOpend, false, 0, true );
			m_sqlconnGameSlots.addEventListener( SQLErrorEvent.ERROR, sqlErrorCatch, false, 0, true );
			
			m_sqlstmtGameTable.addEventListener( SQLEvent.RESULT, createTableResult, false, 0, true );
			m_sqlstmtGameTable.addEventListener( SQLErrorEvent.ERROR, createTableError, false, 0, true );
			
			m_sqlstmtSelectQuery.addEventListener( SQLEvent.RESULT, selectionIdResult, false, 0, true );
			m_sqlstmtSelectQuery.addEventListener( SQLErrorEvent.ERROR, selectionIdError, false, 0, true );
		}
		
		private function removeEventListeners( ) : void
		{
			this.getChildByName("btnSlotOne").removeEventListener( MouseEvent.CLICK, removeScreenLoadGame, false );
			this.getChildByName("btnSlotTwo").removeEventListener( MouseEvent.CLICK, removeScreenLoadGame, false );
			this.getChildByName("btnSlotThree").removeEventListener( MouseEvent.CLICK, removeScreenLoadGame, false );
		}
Das ist sogut wie meine ganze klasse (ausser ein paar komplett unwichtige funktionen) Und wie gesagt diese Funktioniert in Debug einwandfrei, aber nicht im Release. Dort erstellt er nicht einmal die Datei. Wenn ich ihm sie vorgebe dann bringt er keinene fehler mehr führt aber dafür das löschen bzw einfügen nicht aus, also muss irgendwo ein fehler sein, aber kann mir jemand sagen wo und wiso, wäre super Vielleicht im SQL Query irgendwo

Danke schonmal

Gruß
hothead89 ist offline   Mit Zitat antworten
Alt 21-09-2010, 09:18   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Ich meinte nicht mal Code, sondern wo sind die Unterschiede? Deployst du auf dem gleichen Rechner?
Omega Psi ist offline   Mit Zitat antworten
Alt 21-09-2010, 09:29   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
ja vom selben rechner aus.
hothead89 ist offline   Mit Zitat antworten
Alt 27-09-2010, 21:02   #6 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
okay ich habe jetz die fehler gefunden. waren SQL fehler.

jetz habe ich aber ein anderes problem welches ich kurz beschreiben möchte.
Wenn ich eine abfrage mach was in der db steckt funktioniert es wunderbar und wenn ich in Flex auf debuggen klicke dann kann ich an einer anderen stelle im menü sachen reinschreiben / ändern und dies funktionioniert einwandfrei

erstelle ich eine air release, dann geht auch alles ausser, das updaten der daten. ich führe einen update query aus

Code:
UPDATE VerbuggedGameSlots SET SavePlace='1', SaveQuests='0', Ressources='0', SuckLevel='400',RadarLevel='200', Date='1.8.2010',
SlotTaken=true WHERE VerbuggedGameSlotID = 1
welches ich mir auch durch ein textfeld ausgeben lasse und danach rufe ich die funktion

Code:
VerbuggedMain.textField.text += m_sqlstmtUpdateQuery.text;
			m_sqlstmtUpdateQuery.addEventListener( SQLErrorEvent.ERROR, updateError );

			m_sqlstmtUpdateQuery.execute();
			
VerbuggedMain.textField.text += "save done \n";

private function updateError ( event:SQLErrorEvent ) : void
		{
			VerbuggedMain.textField.text += "no update \n";
		}
das VerbuggedMain.textField ist das selbstgebaute textfeld damit ich sehe wie weit er geht. im debug geht er kompeltt durch aber im release hört er bei execute auf und gibt auch den letzen part nicht aus. und einen error wirft er aber auch nicht

Mein frage jetz,
muss ich bevor ich auf die db schreiben kann noch etwas verändern damit er darauf zugreifen darf oder sowas ähnliches?
hoffe ich konnte mein problem darlegen ist gar nicht so einfach

Danke
hothead89 ist offline   Mit Zitat antworten
Alt 27-09-2010, 22:48   #7 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
hier nochmal der gesamte code
Code:
//-------------------------------------------------------------------------------------------
        // SAVE
        //-------------------------------------------------------------------------------------------    
        
        
        public function saveGame ( ) : void
        {
            m_quests = m_mcActualMovieClip.m_intQuestDone;
            m_ressources = m_mcActualMovieClip.m_intRessource;
            m_suckLevel = m_mcActualMovieClip.m_nNozzleDistance;
            m_radarLevel = m_mcActualMovieClip.m_iRadius;
            
            m_actualDate = new Date();
            //TEXT
            VerbuggedMain.textField.text += "save date "+ m_actualDate + " => " + m_actualDate.getDay() + '.' + 
m_actualDate.getMonth() + '.' + m_actualDate.getFullYear() + "\n";
            
            m_sqlconnGameSlots = new SQLConnection();
            m_sqlstmtUpdateQuery = new SQLStatement();
            startSQLConnection();
        }
        
        
        private function startSQLConnection() : void
        {
            //TEXT
            VerbuggedMain.textField.text += "sql connection \n";
            
            m_dbFile = File.applicationDirectory.resolvePath("GameData/SaveGames/Gamedata.db");    
            m_sqlconnGameSlots.addEventListener( SQLEvent.OPEN, sqlOpend );
            m_sqlconnGameSlots.addEventListener( SQLErrorEvent.ERROR, sqlErrorCatch );
            m_sqlconnGameSlots.open( m_dbFile, SQLMode.UPDATE );
        }
        
        
        private function sqlOpend ( event : SQLEvent ) : void
        {
            //TEXT
            VerbuggedMain.textField.text += "sqlOpend \n "
            m_sqlconnGameSlots.removeEventListener( SQLEvent.OPEN, sqlOpend );
            m_sqlconnGameSlots.removeEventListener( SQLErrorEvent.ERROR, sqlErrorCatch );
            updateDatabase ();
        }
    
        public function updateDatabase () : void
        {        
            trace("save");
            VerbuggedMain.textField.text += "start save \n";
            
            m_sqlstmtUpdateQuery.sqlConnection = m_sqlconnGameSlots;
            m_sqlstmtUpdateQuery.text = "UPDATE VerbuggedGameSlots SET SavePlace='1', SaveQuests='"+ m_quests +"', " +
                "Ressources='"+ m_ressources +"', SuckLevel='"+ m_suckLevel +"'," +
                "RadarLevel='"+ m_radarLevel +"', Date='"+ m_actualDate.getDate().toString() + '.' + ( m_actualDate.getMonth()+1 ) + '.' +
 m_actualDate.getFullYear() +"', SlotTaken=true WHERE VerbuggedGameSlotID = "+ m_SlotID +"";
            trace("saveq", m_sqlstmtUpdateQuery.text);
            //TEXT
            VerbuggedMain.textField.text += m_sqlstmtUpdateQuery.text + " \n";
            VerbuggedMain.textField.text += "start executing \n"
            m_sqlstmtUpdateQuery.addEventListener( SQLErrorEvent.ERROR, updateError );
            m_sqlstmtUpdateQuery.execute();
            trace("save done");
            
            VerbuggedMain.textField.text += "save done \n";
        }
        
        private function updateError ( event:SQLErrorEvent ) : void
        {
            VerbuggedMain.textField.text += "no update \n";
        }
        
        private function sqlErrorCatch ( event:SQLErrorEvent ) : void
        {
            VerbuggedMain.textField.text += "no connection \n";
            trace("noUpdate");
        }
hothead89 ist offline   Mit Zitat antworten
Alt 29-09-2010, 11:19   #8 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
also ich komm einfach nicht drauf.
woran kann es liegen dass er im Debugmodus den Update Query ausführt aber im release nicht?

Mit meinem selbstgebauten TraceField kommt er bei Debugmodus komplett durch bis zum abschließen und bei release gibt er nur noch das letze vor dem execute aus danach wird nihct mehr ausgeführt aber ein SQLError wird auch nicht geworfen (siehe Code oben)?

Woran kann das liegen hat noch jemand eine Idee?
hothead89 ist offline   Mit Zitat antworten
Alt 29-09-2010, 11:32   #9 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Zum einen könnte dein Code etwas leichter zu lesen sein zum ander: schliesst du deinen Datenbankverbindungen nicht?
Omega Psi ist offline   Mit Zitat antworten
Alt 29-09-2010, 11:34   #10 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
ja mit lesbarkeit war das etwas schwirig weil ich das nur mit copy paste machte...was passiert wenn man die nicht schließt?
hothead89 ist offline   Mit Zitat antworten
Alt 29-09-2010, 11:42   #11 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Man schliesst Datenbankverbindungen - was für eine Frage?! Man will unter anderem Resourcen freigeben und Seiteneffekte vermeiden.
Omega Psi ist offline   Mit Zitat antworten
Alt 29-09-2010, 11:56   #12 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
okay ich hab jetz ein close eingebaut aber das problem ist immernoch ein anderes.

Code:
VerbuggedMain.textField.text += "start executing \n";
			m_sqlstmtUpdateQuery.addEventListener( SQLErrorEvent.ERROR, updateError );
			m_sqlstmtUpdateQuery.addEventListener( SQLEvent.RESULT, updateErrordone );
			m_sqlstmtUpdateQuery.execute();
			
			VerbuggedMain.textField.text += "save done \n";
		}
		
		private function updateErrordone ( event:SQLEvent ) : void
		{
			m_sqlconnGameSlots.close();
			VerbuggedMain.textField.text += "resulte event \n";
		}

private function updateError ( event:SQLErrorEvent ) : void
		{
			VerbuggedMain.textField.text += "no update \n";
		}
wenn ich das ausführe dann steht im debug modus im textfeld:
...
start executing
resulte event
save done

im release steht da folgendes drin
...
start executing

das wars?! brint aber auch kein fehler oder der gleichen ?!
hothead89 ist offline   Mit Zitat antworten
Alt 29-09-2010, 13:52   #13 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
hallo nochmals
ich habe ne neue erkenntnis.

also ich habe eine try catch um das execute gemacht und er wirft dann doch einen fehler aus und zwar mit der id 3122

Zitat:
3122 Attempt to write a readonly database. Indicates that an operation could not be completed because the database is read only. This can occur if the database file is designated as read only in the operating system, if the database is opened in read-only mode, or if an older version of Adobe AIR accesses a database file created with a newer version of the runtime.
was muss ich also tun?!? damit er darauf schreiben darf...ich habe nie einen schreibschutz eingefügt (kenne mich damit aber ncoh nicht so aus habe erst vor kurzem angefangen mir das anzueignen)

DANKE FÜR DIE HILFE
hothead89 ist offline   Mit Zitat antworten
Alt 29-09-2010, 16:25   #14 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Wie kannst du in einem Release Build traces verwenden?
Omega Psi ist offline   Mit Zitat antworten
Alt 29-09-2010, 21:56   #15 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
ich habe ein textfeld erstellt welches über allem liegt aber mouseEnabled = false gestezt ist und die var ist static somit kann ich ja über Class.TextField.text = "trace" anstelle von trace("text") verwenden. Und dabei habe ich die Fehlernummer 3122 erhalten was ja die erklärung von oben heißt...allerdings weiß ich jetz nicht wie ich machen kann dass ich darauf schreiben kann weil ich ja über
Code:
m_sqlconnGameSlots.open( m_dbFile, SQLMode.UPDATE );
doch die db zum lesen und schreiben öffne oder muss ich da noch etwas berücksichtigen?
hothead89 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP IRC Connection komashooter PHP und MySQL 3 25-07-2006 12:02
xml socket connection zungenbrecher Flash MX 2004 4 21-10-2005 16:56
local connection metleck Flash MX 2004 5 01-08-2005 14:58
local connection und der mac sniper85 ActionScript 1 2 28-06-2005 16:48
local connection sniper85 ActionScript 1 1 03-06-2005 15:47


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

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


Copyright ©1999 – 2012 Marc Thiele