Array ableiten

Nambot

Mitglied
Hi!
Ich versuche mir gerade eine Klasse zu erstellen, die im Prinzip die Eigenschaften eines Arrays haben soll, ich benötige lediglich ein paar Zusatzfunktionen. Da bietet sich das Ableitend er Array-Klasse an. Das versuche ich auch, aber irgendwie stehe ich gerade ziemlich auf dem Schlauch ...
Zur Zeit habe ich lediglich folgenden spärlichen Code;
Code:
public class imageCache extends Array
	{		
		public function imageCache()
		{
			super();
		}
}
Wenn ich dann, aber über push("foo") zu Testzwecken ein Element hinzufügen möchte, erhalte ich beim Ausführen folgenden Fehler:
Code:
ReferenceError: Error #1069: Eigenschaft 0 für imageCache nicht gefunden und es ist kein Standardwert vorhanden.
	at Array$/_join()
	at <anonymous>()
Als "Actionscript-Starter" kann ich mit dieser Fehlermeldung relativ wenig anfangen.
Könnte mir jemand auf die Sprünge helfen?
schonmal danke

Nambot
 
Hi,

geht es um AS 2.0 oder AS3.0?

In AS 2.0 musst Du das Schlüsselwort "public" vor "class" weglassen; in AS3.0 darf es dort nur stehen, wenn sich die Klasse in einem "package" befindet.

Gruß
.
 
AS3 und die Klasse ist auch in einem Package. Das ist der gesamte Code der Klassen Definition:
Code:
package com.flashAdventure.objects
{
	import flash.display.MovieClip;
	import flash.display.Loader;
	import flash.net.URLRequest;
	import flash.events.*;
	
	public class imageCache extends Array
	{		
		public function imageCache()
		{
			super();
		}
	}
}
Die imports sind noch von früheren Tests, aber die sollten ja keinen wirklichen Einfluss haben.
Der reduzierte Code auf die Zeilen, die sich mit dieser Klasse befassen ist:
Code:
objectImageCache = new imageCache();
objectImageCache.push("foo");
trace("imagecacheInstance "+objectImageCache);
 
Hi,

da "Array" eine dynamische Klasse ist, muss es Deine auch sein:
Code:
public dynamic class imageCache extends Array

Gruß
.
 
Ah ok. Funktioniert. Vielen Dank.
Dynamische Klassen kannte ich noch gar nicht. Werde mich mal darüber schlau machen.
 

Neue Beiträge

Zurück