
s3c
Membros-
Total de itens
817 -
Registro em
-
Última visita
Tudo que s3c postou
-
grdProdIngredientes.options := grdProdIngredientes.options + [goEditing]; grdProdIngredientes.options := grdProdIngredientes.options - [goEditing];
-
É estranho um XP reiniciar intermitentemente quando você coloca seu programa no ar. No momento, a única explicação 'possível' que vejo para isso é você estar conectado na rede e um intruso entra no seu servidor e lhe envia um buffer de dados, onde seu TServerSocket não está lendo e também não está dando um Close no Socket do intruso. Bom, se for isso, quando da conexão dos clientes, solicite uma senha para continuarem conectados, senão você dá um Close no Socket.
-
Const scrWidth = 800; // Aqui você define as dimensões do seu projeto original scrHeight = 600; procedure TForm1.FormCreate(Sender: TObject); begin Scaled := true; if Screen.Width <> scrWidth then begin Height := Height * Screen.Height div scrHeight; Width := Width * Screen.Width div scrWidth; ScaleBy(Screen.Width, scrWidth); end; end;
-
Olá, tente deletar o .ddp
-
Mas qual o problema de utilizar as Consts p/ Width e Height ? Lá você define as dimensões de largura e altura do seu projeto original e quando você o porta p/ outras resoluções de vídeo, automaticamente ele vai ser escalado.
-
Olá, se o DBGrid não for atualizável, você pode trocá-lo pelo ListView que possui o método AlphaSort onde é gerado o evento onCompare e neste evento você escreve a classificação que quiser para cada coluna.
-
Mais genérico que as Consts eu não conheço.
-
Desculpe-me, mas SystemParametersInfo c/ ação 97(SPI_SCREENSAVERRUNNING) não funciona em sistemas NT/XP. A combinação ctrl+alt+del nesses sistemas passa pelo kernel do sistema antes de poder ser interceptada pela fila de msgs do Windows. Certa vez lí num artigo da Microsoft que ela fez isso para evitar que um programa mal intencionado conseguisse interceptar essa combinação e jogar uma tela para poder capturar a senha do sistema.
-
Já ví e ouví algumas coisas acontecerem sem explicação nos Win9x. Poste o erro que está dando e o S.O. utilizado.
-
Tente fechar e reabrir o Delphi.
-
Olá, ele costuma criar arquivoa temporárioa na pasta temp do sistema. Esta pasta você consegue pelo GetTempPath. Experimente limpá-la.
-
Qual é o arquivo que ele não pode criar?
-
Fala Vieira, tudo bem? você utiliza arrays dinâmicos? Se sim, provavelmente você está ultrapassando o índice do High(array). Coloque um break-point no FormCreate e FormShow e vá debugando até a instrução que dá o erro.
-
Olá, uma sugestão é criar duas constantes: Const ScreenWidth = (Width da screen em desenvolvimento) ScreenHeight = (Height da screen em desenvolvimento). Substitua as constantes 1024 e 768 por essas constantes.
-
Não entendí muito bem esse 'ERRO DE MEMORIA', como assim? que tipo de erro? ele dá o erro e trava a máquina? O registro do Windows é o TRegistry, mas a memória que ele consome é irrelevante a não ser que você instancie vários milhões de TRegistry sem liberá-los. Não sei, mas acredito que isso não tem muita relação com Sockets.
-
Travar o ctrl+alt+del no nt ou xp acredito que você não consiga. O que pode ser feito é desabilitar os botões da tela que o ctrl+alt+del apresenta.
-
Acho que entendí; então ele deve dar o erro somente na primeira vez que é utilizado ou quando você muda de arquivo. Bom se for isso, é só criar o arquivo vazio pelo Delphi antes do componente acessá-lo.
-
Olá, se você quer aplicações se comunicando entre si numa rede interna ou externa, você pode fazer isso utilizando Sockets. Eles se comunicam via tcp/ip e porta. Veja os componentes TServerSocket e TClientSocket.
-
Olá Paulo. Quanto ao componente SQLMemTable, não posso dizer porque não o conheço; mas para você criar um arquivo: var f:File of Byte; Dados:array[1..128] of Char; begin // alimente aqui seu buffer de dados AssignFile(f, 'c:\temp\info.dat'); // define onde ele vai estar Rewrite(f); // cria o arquivo, se já exisitir será recriado BlockWrite(f, Dados, 128); // grava um buffer de dados CloseFile(f); // fecha o arquivo end;
-
Bom, WM_NextDlgCtl é uma msg que informa a mudança de foco nos controles. Sua sintaxe é: WM_NextDlgCtl, wParam, lParam; onde neste tipo de msg wParam indica como ou qual controle irá receber o foco. Se lParam for <> 0, então wParam deve indicar qual controle irá receber o foco; se lParam for = 0, então wParam deve informar o seguinte: 0-próximo controle; não 0 - controle anterior. No seu caso, você está informando 9 em wParam e 0 em lParam; daí o motivo pelo qual o controle anterior recebe o foco.
-
Tente assim: procedure TForm1.FormCreate(Sender: TObject); begin Scaled := true; if Screen.Width <> 1024 then begin Height := Height * Screen.Height div 768; Width := Width * Screen.Width div 1024; ScaleBy(Screen.Width, 1024); end; end;
-
É isso mesmo, ele retorna um TParameter e não um TParam como no BDE. Mas acredito que ele seja mais lento que o BDE porque ele tem que ficar sempre convertendo o Ole Variant p/ seu tipo de dado original. Testei ADO por uns 3 meses e desistí justamente por sua lentidão em relação ao BDE. Notei isso importando uma tabela de ceps ± 80.000 regs; o ADO deixou muito a desejar.
-
Certa vez ví uma frase que dizia assim: Quem não tem cão caça com gato. Quem não tem Delphi se vira com VB.
-
raiz := xorRaiz.Text[1];
-
Olá Turbo. Pelo pouco que mexí com ADO, creio que você não precisa atualizar o DataType p/ strings; é só você colocar: QryExclusao.Parameters.ParamByName('locpro').asString := MskNumProc.Text; ps: você não acha o ADO mais lento que os demias acessos?