ht Posted November 7, 2007 at 12:48 AM Report Share #145804 Posted November 7, 2007 at 12:48 AM boas 🙂 tenho uma dúvida/problema acerca da cópia de objectos (deve ter a ver com poo ?).. por exemplo, pretendo copiar o objecto ABC para o objecto CDE mas não consigo, ou seja, depois de atribuir o objecto CDE e alterar o conteúdo de CDE altera também em ABC. Penso que o objecto CDE acede ao espaço de memória de ABC. Dim ABC as new Medida Dim CDE as new Medida ABC.CoordX = 100 ABC.CoordY = 200 CDE = ABC CDE.CoordX += 500 '' Valor de ABC.CoordX -> 600 '' Valor de CDE.CoordX -> 600 Preciso que ao alterar em CDE não altere em ABC, o que não é o caso. Não conheço forma de resolver isto. Se alguém souber, agradecia a ajuda. Link to comment Share on other sites More sharing options...
esquima Posted November 7, 2007 at 02:35 AM Report Share #145824 Posted November 7, 2007 at 02:35 AM n percebi mto bem...o que queres e atribuir o valor abc para cde e isso??? mete abc=cde e nao cde=abc Link to comment Share on other sites More sharing options...
ht Posted November 7, 2007 at 11:36 AM Author Report Share #145861 Posted November 7, 2007 at 11:36 AM não é isso.. pretendo copiar ABC para CDE fazendo a atribuição CDE = ABC O problema é que quando altero CDE, altera também ABC e não é isso que pretendo. Se eu fizer CDE.CoordX = 750, o valor de ABC.CoordX = CDE.CoordX sendo 750. Se ABC e CDE fossem tipos de dados funcionavam como eu queria (por ex, Integer). Mas ABC e CDE são objectos. Link to comment Share on other sites More sharing options...
esquima Posted November 7, 2007 at 01:09 PM Report Share #145875 Posted November 7, 2007 at 01:09 PM tenta assim Dim ABC as new Medida Dim CDE as new Medida ABC.CoordX = me.CoordX ABC.CoordY = me.Coordy ABC.CoordX = 100 ABC.CoordY = 200 CDE = ABC CDE.CoordX += 500 Link to comment Share on other sites More sharing options...
ht Posted November 7, 2007 at 02:30 PM Author Report Share #145887 Posted November 7, 2007 at 02:30 PM o problema persiste de qualquer forma obrigado pela ajuda depois de googlar durante algum tempo, encontrei uma forma um bocado trabalhosa de resolver o problema.. torna-se necessário criar uma função para as classes necessárias do género: Friend Function Clone() as Medida Dim C as new Medida C.CoordX = Me._CoordX C.CoordY = Me._CoordY C.CoordZ = Me._CoordZ Return C End Function gostava que houvesse uma forma mais simples em vez de estar a adaptar a função para várias classes.. se alguém conhecer outra forma, que coloque aqui.. cumpz Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now