Flashhilfe.de - Flash Community

Instanzierungs Problem zum xten Mal.... [Flash 9]

 


AntwortenRegistrieren Seite1  

052etcqu#1
Benutzerbild von 052etcqu
Beiträge: 2
Wohnort: Jena
Registriert: Dec 2008

24.12.2008, 13:50

Hallo,


ich habe ein Problem mit der automatischen Instanzierung.Trotz zahlreicher Beiträge komme ich nicht zu dem gewünschten Erfolg. Bitte Helft mir.......

Ich möchte gerne nach einer Auswahl (2,4,8,16) Textfelder automatisch erstellen lassen.Das automatische Erstellen klappt, aber den Instanznamen zuweisen nicht.
Was mache ich falsch??

Quellcode:

import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;

PixelAuswahl.addEventListener(Event.CHANGE, changeHandler);

function changeHandler(event:Event):void {
var Anzahl:Number=PixelAuswahl.selectedItem.data;
var x1:Number=10;   
var y1:Number=10;   
var i:Number;


for (i=0;i<=Anzahl;i++){
this["b"+i].TextField=new TextField();
this["b"+i].type="input";
this["b"+i].border =true;
this["b"+i].x = 25+30*i;
this["b"+i].y = 25;
this["b"+i].multiline=false;
this["b"+i].wordWrap=false;
this["b"+i].height=20;
this["b"+i].width=25;
addChild(this["b"+i]);
this["b"+i].text="123";
}


}

Folgender fehler erscheint:

TypeError: Error #1010: Ein Begriff ist nicht definiert und hat keine Eigenschaften.
   at automatischeerstellung_fla::MainTimeline/changeHandler()
   at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
   at flash.events::EventDispatcher/dispatchEvent()
   at fl.controls::ComboBox/fl.controls:ComboBox::onListChange()
   at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
   at flash.events::EventDispatcher/dispatchEvent()
   at fl.controls::SelectableList/fl.controls:SelectableList::handleCellRendererClick()




Ich Danke euch schon einmal für eure Hilfe.
MFG und ein frohes und gesegnetes Weihnachtsfest
wünscht Euch

052etcqu
Werbung
Beiträge: 0
Registriert: Feb 2016


omega psi#2
Benutzerbild von omega psi
Beiträge: 791
Registriert: Apr 2004

24.12.2008, 16:51

Das sieht etwas ausgedacht aus.
ActionScript:
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
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;

var textFields:Array = [];

PixelAuswahl.addEventListener(Event.CHANGE, changeHandler);

function changeHandler(event:Event):void {
    var Anzahl:Number=PixelAuswahl.selectedItem.data;
    var x1:Number=10; 
    var y1:Number=10; 
    var i:Number;
    for (i=0;i<=Anzahl;i++){
        var textField:textField=new TextField();
        textField type="input";
        textField.border =true;
        textField.x = 25+30*i;
        textField.y = 25;
        textField.multiline=false;
        textField.wordWrap=false;
        textField.height=20;
        textField.width=25;
        textField.text="123";
        textFields.push(textField);
        addChild(textField);
    }
}
Architectures - Refactoring - Prototyping - Coding - Training
052etcqu#3
Benutzerbild von 052etcqu
Beiträge: 2
Wohnort: Jena
Registriert: Dec 2008

Themenautor/in

24.12.2008, 17:24

Hat bei mir auch zu keiner Lösung des Problems geführt.

Ich wäre über eine elegante Musterlösung sehr dankbar.
Jedes erzeugte Textfeld muss anschließend über die seperaten Instanznamen mit seperaten Werten beschrieben werden.

Hat jemand eine Idee?

Auf ein fröhliches Weihnachtsfest!!!! prost.!!!

MFG
052etcqu
omega psi#4
Benutzerbild von omega psi
Beiträge: 791
Registriert: Apr 2004

24.12.2008, 17:52

ActionScript:
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
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;

var map:Dictionary = new Dictionary(true);
var textFields:Array = [];

PixelAuswahl.addEventListener(Event.CHANGE, changeHandler);

function changeHandler(event:Event):void {
    var Anzahl:Number=parseInt(PixelAuswahl.selectedItem.data);
    var x1:Number=10; 
    var y1:Number=10; 
    var i:Number;
    for (i=0;i<=Anzahl;i++){
        var textField:textField=new TextField();
        textField type="input";
        textField.border =true;
        textField.x = 25+30*i;
        textField.y = 25;
        textField.multiline=false;
        textField.wordWrap=false;
        textField.height=20;
        textField.width=25;
        textField.text="123";
        textFields.push(textField);
        map["textField" + i] = textField;
        addChild(textField);
    }
}
Über die Object Instanz kannst du dann auf die TextFields zugreifen wie mit dem [] - Operator.
Architectures - Refactoring - Prototyping - Coding - Training
Werbung
Beiträge: 0
Registriert: Feb 2016


omega psi#5
Benutzerbild von omega psi
Beiträge: 791
Registriert: Apr 2004

24.12.2008, 23:01

Zeile 16: die Typdeklaration muss natürlich TextField nicht textField sein.
Architectures - Refactoring - Prototyping - Coding - Training

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2020 Sebastian Wichmann - Flashhilfe.de