Como verificar se um pedido é selecionado - página 13

 
Ant_TL:

Na verdade, encontrei uma situação em que o erro foi causado por uma das funções de propósito geral que podia ser usada tanto dentro como fora dos laços de processamento de pedidos, ou seja, antes de um pedido ser selecionado, o que levou ao erro. Se quisermos fazer funções de serviço universal que funcionem com pedidos e possam ser usadas tanto depois de um pedido ter sido selecionado quanto antes, tanto quando há pedidos abertos e quando não há pedidos, devemos usar tal mecanismo como mencionei na página anterior para evitar este erro.

Eu já escrevi anteriormente neste tópico sobre o fato de que a seleção de pedidos não é passada para os módulos da biblioteca e vice-versa.


Anton, feliz aniversário para você também!
 
grell:

Habitue-se ao fato de que cada operação comercial tem seu próprio pedido selecionado e não haverá nenhum problema. E, sim, você foi escrito corretamente, apenas um pedido pode ser selecionado. Tudo o resto é resolvido por matrizes.

Eu não estava falando da situação em que a função B() tenta interceptar uma seleção de ordem da função A() para poder trabalhar com ela. Contornando a seleção do pedido. O ponto é diferente. Mas pode ser útil.

 
tara:

Anton, um feliz feriado para você também!

Boas festas para você também!

 
FAQ:

Você continua esquecendo que apenas um pedido pode ser selecionado de cada vez. Sair = armazenar a lista de pedidos em um pool de economias (sua matriz). uma última ordem variável global não é suficiente. uma variante do tipo lastords[ticket][função] seria melhor.

Manter todas as ordens em uma matriz é apropriado para EAs de grade complexa, mas não para todos os EAs. Na minha situação, é como disparar um canhão contra um pardal. Não estou esquecendo que apenas um pedido pode ser selecionado. Estava apenas ressaltando que não seríamos capazes de descobrir se ela foi escolhida (não qualquer ordem em particular, mas se alguma ordem arbitrária foi escolhida neste tick, ou seja, se uma ordem selecionada foi chamada com sucesso) sem nenhum erro. No entanto, uma variável do tipo última ordem é suficiente para este fim.

 
Ant_TL:

Eu não estava falando da situação em que a função B() tenta interceptar uma seleção de ordem da função A() para poder trabalhar com ela. Contornando a seleção do pedido. O ponto é diferente. Embora possa ser útil.


Bem, me dê um exemplo de uma situação para que eu entenda a necessidade de trabalhar com mais de uma encomenda. A propósito, boas festas!
 
grell:

Bem, me dê um exemplo de uma situação, para que eu entenda a necessidade de trabalhar com mais de uma ordem. A propósito, boas festas!

Boas festas para você também! -))

Falarei disso assim que algo interessante me vier à mente. Situações em que é difícil passar sem este mecanismo. Caso contrário, eles me darão imediatamente conselhos sobre a programação "corretamente". ))

 
Ant_TL:

Manter todas as ordens em uma matriz é apropriado para EAs de grade complexa, mas não para todos os EAs. Na minha situação, é como disparar um canhão contra um pardal.


A escolha é sua se você gosta de dobrar uma fisga para caber em cada pardal e perder tempo ajustando-o. Prefiro fazer um canhão para qualquer projétil uma vez e ter certeza de que quando for necessário atirar em pardais - então carregaremos chumbo e colocaremos tudo de uma vez :)
 
Ant_TL:

Boas festas para você também! -))

Falarei disso assim que algo interessante me vier à mente. Situações em que é difícil passar sem este mecanismo. Caso contrário, eles me darão imediatamente conselhos sobre a programação "corretamente". ))


O que há para procurar se você está tentando provar que esta é uma situação de rotina diária. Você pode trabalhar com um monte de ordens e ainda selecioná-las uma a uma sem medo de perder de vista a ordem. E se é uma ordem, selecioná-la RETURNS em outra função não é nada comparado a procurar um gato preto em uma sala escura.
 
grell:

O que há para encontrar, se você está tentando provar que esta é uma situação normal do dia-a-dia. Você pode trabalhar com muitos pedidos e ainda assim levá-los um a um sem medo de perder de vista o pedido. E se é uma ordem, selecioná-la em outra função não é nada comparado a procurar um gato preto em uma sala escura.

Bem, eu encontrei esta situação em um dos meus EAs, quando chamei minha função modelo MyTotal() para obter o número de todos os pedidos, aberto para um determinado símbolo-magic. Obviamente, eu o usei em um loop em alguns EAs anteriores e, portanto, acrescentei salvar e restaurar a seleção do pedido atual. E então eu o usei sem o laço, antes de fazer a seleção do pedido e foi por isso que eu recebi o erro. Quero que minhas funções de modelo sejam universais e possam ser usadas tanto em loops como fora dos loops, por isso vou usar este modelo com o envoltório MySelect/TickSelect, já que uso o MySelect em todos os loops de qualquer forma em vez do OrderSelect para reduzir o tamanho do código.

Acho que podemos ver porque nesta situação particular precisamos lidar com mais de 1 pedido de cada vez. Estamos trabalhando com alguma ordem no loop principal, e então chamamos MyTotal, que deve passar por todas as ordens para determinar quantas precisamos.

 
Corrija seu erro e vá para a cama, você tem um dia ocupado amanhã :)
Razão: