Paulo Nobre
Membros-
Total de itens
717 -
Registro em
-
Última visita
Tudo que Paulo Nobre postou
-
Obrigado pela explicação, Graymalkin. Essa pergunta é do tipo curiosidade que se tem, mas não vai se abrir um tópico, para isto.
-
Thales, Cheguei a pensar sim, mas não sabia se existia em algum lugar do registro um local para armazenar esses programas. Depois da resposta do Graymalkin, percebi que teria que partir para algo semelhante ao que você sugeriu e é o que vou tentar. Graymalkin, É sempre bom ter sua experiência por aqui, seja nos códigos seja na lógica de programação. Aproveita e tira uma dúvida em relação aos símbolos que aparecem nos "Avatares" (não sei se o nome é este). Na última vez que você esteve por aqui, a algum tempo, que respondeu para mim tinha algo diferente no seu avatar do que "Monitor Global". Essas mudanças são feitas pelo administrador ou são automáticas. Uns tem escrito NOVATO, outros VETERANO. Quais são os critérios? Existe uma tabela? Só por curiosidade dá para explicar?
-
Olá, GrayMalkin a quanto tempo em? Em relação as chaves do RUN já estou usando. O que eu preciso é o seguinte: Tenho um listbox que mostra todos os programas que iniciam com Windows, através dele o usuário poderá eliminá-lo da chave do registro. Como você mencionou HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run e HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run. São as chaves que uso para baixar os que estão lá. A minha pergunta teve como objetivo poder baixar os outros, os que se encontram no menu iniciar inicialização. Sei que o caminho genérico do startup encontro na chave: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders. Se os nomes estivessem no registro usaria um TStringList e passaria para o listbox. Estando numa pasta(os atalhos é que ficam lá, acho) terei que arrumar um jeito de pegar todos os nomes da pasta e copiar para o listbox. Teria que arrumar também uma maneira de quando o usuário clicar no caminho que está no listbox o progrma fosse deletado desta pasta. Essa é a única maneira ou existe algo mais inteligente? Abraços
-
Alguém sabe qual é a chave do registro que contém os programas que estão inicializando via Iniciar\todos os programas\inicializar?
-
Ok, Thales.
-
Hum, entendi, mas, quando o s3c, disse "não percebi Memory leaks", foi investigando com mais profundidade? Porque, pelo que entendi seria apenas uma prática de má programação não é? Erro mesmo não acontece, não é isso?
-
Fiz uns outros testes percebi também o seguinte: (aliás era de se esperar), depois que some o ícone ou seja, que o programa foi fechado, se você abri-lo de novo, ele aparece no tray, mas se tentar abrir algum dos seus menus ele desaparece. Na primeira vez que tentei, com o programa do banco aberto é claro, ainda consegui abrir um dos menus. Acredito que deva ter tipo um timer e de milisegundo em miliseundo deve ir aniquilando alguns programas do tray.
-
Churc, Realmente, quando passo o mouse o ícone desaparece. Mas tem uma coisa estranha; se você não passar o mouse enquanto o acesso ao banco está sendo realizado tudo bem, ao terminar o acesso, se você clicar nele o programa funciona. Será que é um programa tão esperto( e folgado) assim a ponto de fechar e abrir o programa. Por coincidência todos os meus programas que estão no tray estão no run, ou seja, será que ele fecha todos que estão no run. Porém, porque ele não fecha o norton e o avg. Tudo bem que se fosse um programa malicioso, mas um simples programa é sacanagem. Que tem como impedir tem, afinal os programas do Norton e AVG, permanecem lá. Não tenho a menor idéia. Essa deve ser f***!!
-
O que significa memory-leaks
-
Tenho alguns programas que usam a área de notificação. São programas simples. Acontece que em ambientes bancários ao clicar no ícone ele desaparece. Imagino que os módulos de proteção dos bancos acham que os programas pensam que possam estar monitorando alguma coisa e são programados para fechar esses programas do tray. Porém, são os meus que estão sendo eliminados os demais, como AVG e NORTON permanecem lá, sem problema. Tem como resolver este problema? Ou só abrindo ele de novo? Uso o RXLib
-
É, realmente esse é um forum com uma quantidade enorme de feras por metro quadrado. Na dúvida então uso o free!!
-
Churc, muito boa sua explicação. Mas, me diga uma coisa: o que então justificaria a mudança da Major?
-
O delphi tem aquele controle de número da versão e oferece, creio eu como a maioria, a seguinte opção: 1.2.3.65 O primeiro número da esquerda(1) seria o número principal. O último número(65) a building creio que tem a ver com as compilações. Como seriam as variações dos outros. Gostaria, que vocês que fazem programas, creio eu, muitas vezes profissionais, pudessem colocar algumas considerações sobre isto, explicando, se possível, como oficialmente se deveria usar estes números. obrigado
-
Thales, Muito Interessante a explicação, principalmente os detalhes do groupbox. Realmente, Thales, estava bobeando inteiramente. Valeu!!
-
Thales, Acabei descobrindo que deveria colocar LB.Parent:=Self; Você poderia me explixar o significado deste código(a linha acima apenas)? A destruição dele é automatica ao fechar o form? É realmente necessário colocar LB.Name:='ListBox1'; Pois estou usando sem e não estou tendo nenhum problema. Estou fazendo uma gambiarrazinha, pois trago do registro para este listbox invisível e abro no word para o usuário formatar e imprimir.
-
Estou tentando criar um ListBox em tempo de execução. Estou fazendo,no OnClick de um image, var lstAtalhos:TListBox; memo:string//Esta variável vai pegar o conteúdo do listbox begin ... lstAtalhos:=TListBox.create(self); ... Memo:=lstAtalhos.Items.text; ... end; Compila sem erro. Quando clico no image a aprece a seguinte mensagem de erro: EInvalidOperation with mensage "Control" has not parent Window. O que está errado?
-
Valeu pela aula, Thales.
-
Procedure Tfrmprincipal.wmnchittest(var Msg: Twmnchittest);
pergunta respondeu ao Paulo Nobre de Paulo Nobre em Delphi, Kylix
Micheus, O código ficou show de bola. -
Thales e s3c, obrigado pela atenção, mas vou deixar de lado esta implementação. Como disse anteriormente está muito confuso pois este form é um dos 20 e poucos que o programa tem. É chamado a partir de um principal, tem opções nele que são verificadas no registro a partir do oncreate do prinicipal e do oncreate dele próprio. Quando crio ele em tempo de execução acabo tendo problemas. Depois vou fazer o programa separado e é provávê que não apresente problema. Aprendi muito com este tópico e muitas coisas me servirão para outros programas. Com certeza se vocês estivessem vendo o programa resolveriam isto bem rápido pela experiência que vocês tem, porém apenas imaginado o que existe nele e com poucas informações é quase impossível. Gostaria de aproveitar o tópico para explorar uma observação feita pelo Thales anteriormente de que nunca se usa free no OnDestroy. Havia aprendido por aí que por exemplo, ao usar reg:TRegistry, para destruí-lo o local adequado seria no OnDestroy colocando reg.free. Segundo o que o Thales mencionou ,está errado. Ou eu entendi errado e seria apenas para forms Por que? Nunca tive nenhum problema de erro ou violação. Alguém poderia comentar isto , escrevendo algo se possível, como um resumo ou coisa e tal. Valeu por mais este aprendizado.
-
s3c, não estou com o programa aqui, mas tenho quase certeza que é no showmodal.
-
É Thales, parece até que você está adivinhando,com sua última frase. estou quase desistindo de implementar esta possibilidade do usuário. Esta confusão toda esta acontecendo porque este programa é um subprograma. Se você um programa independente, não estaria acontecendo isto. Estou tirando ele da lista de forms auto-criáveis, sim? Se destruir é colocar no evento OnDestroy....frmLembrete.Free, estou sim. Hoje a noite vou dar uma olhada com mais cuidado.
-
Infelizmente nenhuma das dicas funcionou comigo. Estou fazendo frmLembrete:=TfrmLembrete.create(nil); frmLembrete.showmodal; Dá acesso de violação como erro. O form está sendo chamado a partir de um mnu que está no form principal, via tray.
-
Valeu, Thales. Vou testar hoje à noite. Terei que adaptar, pois ficar sempre visível é uma opção do usuário. Ou seja, o form deve iniciar sem a propriedade fsStayOnTop. O usuário abre o form e aí tem a opção através de um mnuFicanoTopo e mnhNFicaNoTopo de controlar isto. Você acha que dará para fazer? Outra coisa é o seguinte: o usuário tem opção de retirar o form da memória. Neste caso basta fazer form4.free?
-
Ok! --- Descobri o seguinte: Ele fica acima de todos os forms do mesmo programa dele. mas, não fica acima dos forms de outros programas. Estranho, né?
-
Também funcionou aqui com outros programas e forms. Só neste caso que por um acaso é o do post-it está dando problema. Será que pode ter alguma coisa a ver com o fato de ele estar vinculado a um trayicon, ou seja, ele é um form criado depois do principal. No oncreat é lida uma chave do registro que estando escrita como sempre visível = sim, então aciona Form1.FormStyle:=FsStayOnTop; Acho que vou ter que dar uma fuçada profunda. Valeu, Thales.