Casa
Top.Mail.Ru Yandeks.Metrika
Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

Para baixo

Excluindo um objeto Encontre agências semelhantes


Серж   (2001-12-18 19:18) [0]

Excluir objeto (livre)
Como verificar se o objeto foi excluído (eu verifiquei por nil - diz
que o ponteiro está definido). Como ser ???



Anatoly Podgoretsky   (2001-12-18 19:29) [1]

Bem, atribua-o a zero após a exclusão.
Mas por que, diante da reutilização, é melhor escrever para que não haja necessidade disso.



nil   (2001-12-18 19:36) [2]

FreeAndNil (objeto);



Серж   (2001-12-18 19:41) [3]

Bem, não é realmente "reutilizar".
O problema é o seguinte:
Eu faço um designer de relatórios. O usuário pode adicionar ao relatório elementos diferentes (bandas, laboratórios, etc.). O que está no relatório está escrito em tlist
Claro, você pode remover e adicionar componentes.
O problema surgiu quando a gangue foi removida. Eu faço isso de graça - ele é excluído e exclui seus objetos filho.
Eu preciso removê-los da lista. Portanto, a questão surgiu. Quando eu quis excluir uma gangue, quis verificar quais objetos foram excluídos e removê-los dessa lista.
E em outros casos, eu atribuí nulo.
Deve haver alguma maneira ???



Юрий Зотов   (2001-12-18 19:43) [4]

E por que até checar? Se Free for chamado e não houver exceções, o objeto será excluído e nenhuma verificação será necessária.

Parece que Anatoly Podgoretsky está certo - a lógica do código não é construída da melhor maneira. Eu aconselho você a prestar atenção a isso, porque muitas vezes essas coisas causam erros ocultos e difíceis de encontrar.



Серж   (2001-12-18 19:48) [5]

Ok !! Obrigado a todos!
Mesmo que Yu.Zotov não saiba o caminho, então tentarei resolver o problema com outro e, ao que parece, um caminho mais longo: ((
Obrigado novamente por sua atenção.



Юрий Зотов   (2001-12-18 19:52) [6]

Nossa, a diferença em segundos 2 ...

Agora a tarefa é clara. Uma maneira de fazer isso. Crie seu gerente de TComponent e cole seu TList nele, como um campo. A diferença é que, ao inserir qualquer componente em um relatório, esse TComponent pode chamar seu método FreeNotification e, portanto, receberá automaticamente todas as notificações sobre exclusão. Resta apenas substituir seu método Notification, e nele já está claro os links no TList.



Серж   (2001-12-18 19:57) [7]

> Yuri Zotov
Inteligentemente! Ok, vou tentar amanhã! Obrigado!



Anatoly Podgoretsky   (2001-12-18 20:25) [8]

Em princípio, não importa como fazer isso, é importante que qualquer objeto seja adicionado e removido. se da lista. Neste caso, o problema irá para a raiz.



Страницы: 1 filial inteira

Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

em cima









Memória: 0.58 MB
Hora: 0.025 c
1-22238
T2
2001-12-16 07:29
2002.01.08
Determinar o número do item de menu


1-22004
KhLexa
2001-12-17 17:57
2002.01.08
Glitches


1-22151
Koks
2001-12-20 14:06
2002.01.08
MDI -ClientForm


6-22275
Moscower
2001-10-08 12:43
2002.01.08
Como posso enviar um comando chmod para um servidor Linux via TNMFTP?


1-22088
Mikhalyov Dmitry
2001-12-19 14:58
2002.01.08
chamada de evento do programa





afrikaans albanês Arabic armênio azerbaijano basco belarusian Bulgarian catalão Chinês simplificado) Chinês tradicional) croata checo dinamarquês Dutch Inglês estoniano filipino Finnish French
Galego georgiano German grego crioulo haitiano hebraico hindi húngaro islandês Indonesian irlandês Italian Japanese Korean letão lituano macedónio Malay maltês Norwegian
persa polonês Portuguese romeno Russa sérvio Slovak esloveno espanhol swahili sueco tailandês turco ucraniano urdu vietnamita galês ídiche bengali bósnio
cebuano esperanto gujarati hausa hmong igbo javanês kannada khmer lao latino maori marata mongol Nepali punjabi somali tâmil telugu yoruba
zulu
Английский francês Alemão Italiano Португальский russo Espanhol