WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

 
 
Themen-Optionen Ansicht
Alt 09.10.2001, 10:44   #5
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard

ok, ich hab mich gestern noch gespielt, weiß jetzt ungefähr woran es scheitert:

ich post mal die auszüge, die damit was zu tun haben:

class A {
var $blocks = array(); //array, in dem die block-objekte gespeichert sind (siehe tblock.inc.php)



function defineBlock ($blockname) {
$blockcode = ... //blockcode extrahieren aus best. daten

$tmpBlock = new B ($blockname);
$tmpBlock->setBlockCode ($blockcode);
array_push($this->blocks, $tmpBlock);

}

function setVariables ($blockname, $varArray) {
foreach ($this->blocks as $currentBlock) {
if ($currentBlock->getBlockName() == $blockname) {
$currentBlock->setValues($varArray);
break;
}
}

}

function output () {
for ($i=0; $i<sizeof($this->blocks); $i++) {
$currentBlock = $this->blocks[0];

$parsecode = str_replace ($currentBlock->getBlockCode, $currentBlock->parseBlock(), $parsecode);

}
return $parsecode;
}

}



class B {
var $name;
var $blockcode;
var $values = array();

function TBlock ($blockname) {
if (is_string($blockname)) {
return $this->name=$blockname;
}

}

function setBlockCode ($code) {
//-- setzt den Code --//
$this->blockcode = chop($code);


}

function setValues ($valArray) {

array_push($this->values, $valArray); //das ist die problemzeile
}

function parseBlock () {
foreach ($this->values as $valArray) {
$currentBlockCode = $this->blockcode;
foreach ($valArray as $key => $name) {
$currentBlockCode = str_replace ($key, $name, $currentBlockCode);
}
$returnString .="\n $currentBlockCode";
}

return $returnString;
}

}

ok, das müssts jetzt im wesentlichen gewesen sein.
der fehler is übrigens folgender:
benutzt ich im test-script nur die klasse B, so funktioniert alles ganz normal.
will ich B über A benutzen (also ein array aus B-objekten), setzt mir array_push($this->values, $valArray) irgendwas, aber nicht das array.
sprich bei einer ausgabe mit sizeof($this->values) in anderen funktionen (wie zB parseBlock) wird mir immer 0 zurückgegeben.


sollt das nicht ausreichen, kann ich euch das programm mailen.
Who-T ist offline   Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:15 Uhr.


Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag