Autor
|
Thema: Benutzerdefinierte Attribute zur Laufzeit verarbeiten (1439 mal gelesen)
|
schafmoeoeoe Mitglied
Beiträge: 5 Registriert: 02.03.2010
|
erstellt am: 03. Mrz. 2010 08:41 <-- editieren / zitieren --> Unities abgeben:
Ich erzeuge zur Laufzeit mittels einer Methode Attribute. Typ und Name der Attribute hole ich aus dem Index einer Tabelle. Ich weiß also nur zur Laufzeit des Modells wie die Attribute heißen und welchen Typ sie haben. Code:
/* Deklarationsbereich der BE-Attribute Die Namen der Attribute dürfen keine Sonderzeichen enthalten */ for i := 1 to Auftraege_Attribute.indexXDim loop @.erzeugeAttr(Auftraege_Attribute[i,0], Auftraege_Attribute.holeDatenTyp(i)); next;
in einem zweiten Schritt der Methode möchte ich Werte aus der Tabelle auslesen und in die Attribute schreiben. Hierfür muss ich jedoch die Attribute ansprechen. Versuchen tu ich das wie folgt: Code:
/* Definitionsbereich der BE-Attribute */ while @.Auftrags_Nr /= Auftraege["Auftrags_Nr",Auftragsnummer_index] loop if Auftraege["Ist_Menge",Auftragsnummer_index]<Auftraege["Soll_Menge",Auftragsnummer_index] then --Ist Menge der erzeugten BE´s wird um einen erhöht und in der Tabelle Auftraege_Attribute abgelegt Ist_Menge_lokal:=Auftraege_Attribute["Ist_Menge",Auftragsnummer_index]+1; Auftraege_Attribute["Ist_Menge",Auftragsnummer_index]:=Ist_Menge_lokal; --Alle Attribute werden an BE übergeben for i := 1 to Auftraege_Attribute.indexXDim loop @.Auftraege_Attribute[i,0]:=Auftraege_Attribute[Auftraege_Attribute[i,0],Auftragsnummer_index]; next; --Abbruch exitloop else Auftragsnummer_index:=Auftragsnummer_index+1; Ist_Menge_lokal:=0; end; end;
Leider bekomme die Fehlermeldung: Unbekannter Name Auftraege_Attribute[i,0] Nun würde ich gern wissen ob man mit dem @ Operator nur auf explizit die bekannten Attribute der BE zugreifen kann oder ob ich einen syntaxfehler mache und der name deshalb nicht ausgelesen wird. Mit einem Code: test:=Auftraege_Attribute[i,0]
wird der Name der Variablen korrekt zugewiesen - auslesen läßt es sich aber anscheinend nicht.vielen Dank für eure Hilfe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
planty Mitglied Dipl.-Ing.
Beiträge: 139 Registriert: 18.09.2006
|
erstellt am: 03. Mrz. 2010 12:45 <-- editieren / zitieren --> Unities abgeben: Nur für schafmoeoeoe
|
schafmoeoeoe Mitglied
Beiträge: 5 Registriert: 02.03.2010
|
erstellt am: 03. Mrz. 2010 14:45 <-- editieren / zitieren --> Unities abgeben:
Ich habe nun schon mal einen Fehler gefunden. Code: setzeAttribut(Auftraege_Attribute[i,0],Auftraege_Attribute[Auftraege_Attribute[i,0],Auftragsnummer_index]);
ist auf jeden Fall schon mal richtiger als vorher
Code: @.Auftraege_Attribute[i,0]:=Auftraege_Attribute[Auftraege_Attribute[i,0],Auftragsnummer_index];
dein Tip mit Code: setzeAttrWert
werde ich mir gleich auch mal ansehen - wenn ich die Hilfe da richtig versteh erwartet der Befehl ein integer um das Attribut zu identifizieren. Ich muss mir also gleich mal ansehen wie man dieses integer bestimmt.[Diese Nachricht wurde von schafmoeoeoe am 03. Mrz. 2010 editiert.] [Diese Nachricht wurde von schafmoeoeoe am 03. Mrz. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
planty Mitglied Dipl.-Ing.
Beiträge: 139 Registriert: 18.09.2006
|
erstellt am: 03. Mrz. 2010 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für schafmoeoeoe
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|