Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Trate-os como uma variável longa de sizeof(<Type>)*<Number_Elements> e tudo dará certo :)
Então, essa classe é necessária apenas para transferir um ponteiro? Pensei que fosse possível usar matrizes de uma só vez :(
Trate-os como variáveis longas de sizeof(<Type>)*<Number_Elements> e tudo dará certo :)
void OnStart()
{
CMemMapFile hmem;
int err=hmem.Open("Local\\\\test",111,modeCreate);
int data[];
ArrayResize(data,50);
err=hmem.Write(data,ArraySize(data)*sizeof(int));
ArrayInitialize(data,0);
hmem.Seek(0,SEEK_SET);
err=hmem.Read(data, ArraySize(data)*sizeof(int) );
hmem.Close();
}
Fiz tudo certo? Se não, o que está errado?
baramantan:
Eu fiz tudo certo?Pergunte ao debag, ele sabe 100%.
E por que você tem que responder à minha postagem mudando as setas?
Você pode mostrar por exemplo como passar um array int ou double?
Como você vai verificá-lo se nem sequer tem depuração? Você está acostumado a estudar ciência da computação em um quadro negro sem computador na escola?
Se quiser detalhes e exemplos, leia o MSDN.
Em geral, as pessoas podem ser imprudentes. Elas já transferiram tudo para o MQL e mastigaram tudo com comentários,
então, para elas, escrever funções para seus slivators também :) acaba sendo estranho.
;)
Como você vai verificá-lo se nem sequer tem depuração? Você está acostumado a estudar ciência da computação em um quadro negro sem computador na escola?
Se quiser detalhes e exemplos, leia o MSDN.
Em geral, as pessoas podem ser imprudentes. Elas já transferiram tudo para o MQL e mastigaram tudo com comentários,
então, para elas, escrever funções para seus slivators também :) acaba sendo estranho.
;)
Bem, vou responder minhas próprias perguntas. Tive que pegar esse produto meio acabado e mal cozido.
Essa classe não pode manipular matrizes int e double por um motivo muito simples.
A função declarada não pode aceitar matrizes dos tipos int ou double. A classe só pode manipular uchar " virtual int Write(const uchar &buf[],int sz); // escreve o número especificado de bytes na memória "
Eu forjei a receita para finalizá-la para minhas necessidades, estou postando o que consegui, você só pode passar matrizes int. Se o autor não finalizar sua criação, postarei a minha mais tarde.
Vou responder às minhas próprias perguntas. Tive que fazer algumas pesquisas
então cumpri meu objetivo :)
Essa classe não pode aceitar matrizes int e double por um motivo muito simples.
A função declarada não pode aceitar matrizes do tipo int ou double.
Bem, essa é uma verdade óbvia: ela aceita uchar, não <some_needed_type>.
Da mesma forma, você pode exigir desse, como você diz, "produto semiacabado" para salvar uma matriz de estruturas com strings. Batendo o pé - por que o autor não previu o "formato de dados de que preciso".
Mas você recebeu uma função universal. menos de um byte, não há lugar para dividir. É por isso que ele é armazenado.
Como qualquer tipo de dado pode ser traduzido em uma matriz uchar (ler bytes), é o mais universal para essa classe.
Eu juntei a receita para modificá-la de acordo com minhas necessidades, e estou postando o que consegui: você só pode passar arrays int.
sim. progresso :)
portanto, cumpri meu objetivo :)
Bem, é uma verdade óbvia. Ele aceita uchar, não <some_necessary_type>.
Da mesma forma, você pode exigir desse, como você disse, "produto semiacabado" para salvar uma matriz de estruturas com strings. Batendo o pé - por que o autor não previu o "formato de dados de que preciso".
Mas você recebeu uma função universal. menos de um byte, não há lugar para dividir. É por isso que ele é armazenado.
Era uchar, agora é int.Como qualquer tipo de dados pode ser traduzido em uma matriz uchar (ler bytes), ela é a mais universal para essa classe.
sim. progresso :))
Não sou um mega programador, é claro. Mas não entendo onde está a universalidade? uchar não pode ser universal porque limita o usuário, a saber: uchar serve apenas para valores positivos. O valor mínimo é zero, o valor máximo é 255.
Qualquer dado além do valor de uchar se torna igual ao valor máximo ou mínimo de uchar.
Com base no que eu disse, perguntei desde o início "como passar int ou double". Não entendi seu ponto, chefe.