Hey Gneiss,
hmm, so richtig steige ich in deiem Code nicht durch.
Also, Du übergibst der Funktion "PlaceBtnOnCell" ne Menge Parameter, unter anderem ein Formular? (form)??
Dann erzeugst Du eine Objekt (Einen Button) in der Größe einer Zelle und fügst diesen Button der Drawpage zu. So weit so gut.
Dann erzeugst Du noch einen "ActionListener" unf fügst ihm dem Formular zu. Auch ok.
Das das überhaupt funktioniert, ist schon erstaunlich - denn der Button ist m.A. nach gar nicht dem übergebene Formular zugefügt worden.
Hast Du das mal mit xray überprüft, ob der Button überhaupt Teil deiner "form" ist? Also, er wird sicher einem Formular zugeordnet - möglicherweise wurde aber auch ein neues erstellt.
Das Löschen ist dann tatsächlich zweistufig:
Zuerst wird der Button aus dem Formular gelöscht : osheet.drawpage.forms.getByIndex(0).removebyName(model.Name)
Annahme hier: nur ein Formular vorhanden, Index also 0. Du kannst das Formular auch über den Namen bekommen...
Jetzt ist der Button nicht mehr Teil des Formulars (also auch keine Action mehr), als shape aber immer noch Teil der Drawpage!
der kannst Du jetzt entfernen mit z.B. drawpage.getByindex(0).dispose() ...der Index muss halt entsprechend angepasst werden. der bessere Weg wäre im Übrigen die Methode "remove" der Drawpage - also drawpage.remove(xshape as object). Dazu brauchst Du halt das Objekt des Buttons - entweder über die Event-Funktion (event.Source) oder auch über das Formular und dann über den Namen.
Wichtig: Die elemente der Drawpage haben evt. auch Namen, die sind aber nicht identisch mit den Namen der Elemente im Formular!
Da musst Du ein wenig probieren
Viele Grüße
Tom