Qualquer pergunta de um PROFI para um SUPER PROFI - 1. - página 2

 
Zhunko:

O projeto foi copiado no VC++ 6.0 com suas propriedades ou foi montado separadamente?

Havia apenas um arquivo cpp funcionando, com um conjunto de funções, então eu recriei o projeto em 6.0 e apenas transferi todas as funções para ele.

Já tive três ocasiões em que usei funções na VS 2010 que não estão na XP. Tudo funcionou no Vista e no 7, mas no XP o terminal não viu a biblioteca.

Esse é o problema com o último VS, eles não fazem as dlls certas. Algumas dlls funcionam e outras não.
 
sergeev:

Havia apenas um arquivo cpp funcionando, com um conjunto de funções, então eu recriei o projeto em 6.0 e apenas transferi todas as funções para ele.

Esse é o problema com o último VS, eles fazem algumas dlls erradas. Eles trabalham em alguns e não em outros.

Se copiado com todas as propriedades, o compilador mostraria no erro que não existem tais funções.

Novas linhas com diretrizes de pré-processador #IFDEF | #IFNDEF ... #ENDIF. Agora eles estão separados no Vista e antes dele. Apareceram muitas novas funções interessantes que não funcionam em XP. Ou melhor, eles não estão lá.

 
granit77:
Se os PROs não se importam, os moderadores podem ajudar a manter o fio o mais estéril possível.

Não há necessidade de perguntar isto, mesmo que seja um profissional. Eles (os profissionais) concordam! ))

E, por favor, fique de olho no " Onde está a Linha..." É um tópico interessante e, em vinte postos, não há praticamente nenhuma besteira.

Mas uma briga já está se travando....

 
sergeev:
Esse é o problema com as últimas dlls VS: elas não fazem as corretas. Eles trabalham em alguns e não em outros.
Talvez o problema esteja nas configurações padrão? Acho que se eu atualizar meu projeto de trabalho de 6.0 para 2008, ele também será construído normalmente, embora eu possa estar errado.
 
TheXpert:
Talvez o problema esteja nas configurações padrão? Acho que se você atualizar um projeto de trabalho de 6.0 para 2008, ele também será bem construído, embora eu possa estar errado
.

Eu não tinha nada no 6.0, mas de 2008 a 2010 todos os projetos funcionaram. Penso que o problema ainda é o uso de funções WinAPI que não estão disponíveis em versões superiores do sistema.

Ao instalar o estúdio, a versão mínima padrão do sistema é a atual. Pelo menos era isso que eu tinha em 2008 e 2010. Preciso mudá-lo para XP.

 
TheXpert:
Talvez o problema esteja nas configurações padrão? Acho que se eu atualizar meu projeto de trabalho de 6.0 para 2008 ele também funcionaria bem, embora eu possa estar errado.

Fi-lo originalmente em 2008. Depois repeti o mesmo no 6.0 (criei um projeto dll a partir do zero).

Funcionou. E funcionou exatamente em Win7 e Vista. O ano de 2008 foi um ano com falhas, enquanto que o 6.0 foi bom. VS em ambos os casos estão em XP.

 
drknn:
Tente 226. A questão das dlls já foi levantada aqui. As pessoas chegaram à conclusão de que 226 é a construção mais estável.
Tentou 228, 229 também. Eles são os mesmos no meu caso. Similar a 226. Tudo funciona se eu não inicializar imediatamente a biblioteca. O 225 não funciona em absoluto. Ele congela o terminal.
 

Besteira. Deve ser uma questão para os desenvolvedores, ou tudo não está bem na DLL. Não sou um programador C++ - tentei fazer alguns programas uma vez, mas descobri que enquanto você tem uma concha C++ instalada, tudo funciona. Mas assim que você transfere o executável para outro computador, assim que você descobre a falta de algum ciclo dll. Eu também não gosto de trabalhar com cordas. Eu desisti dessa linguagem e me instalei na Delphi. Talvez você possa tentar fazer seu dll nele - tais dlls são bem normais com o terminal...

P.S.

Portanto, não entendo porque todos elogiam tanto C++, se mesmo no nível de escolha de uma concha para problemas de programação surgem com esta linguagem...

 

Eu também compartilho minhas dúvidas.

Eu não finjo ser um super-profissional, não chego ao nível de um profissional - ninguém lê mensagens... é claro aos olhos do cavalo.

Mas quanto mais eu escrevo código (não muito até agora) - uma pergunta ocorre:

Como os parâmetros são passados em funções?

(por nome ou por valor?)

Tenho uma suspeita de que as variáveis das cordas ficam trêmulas ao passá-las.

;)

 
Sorento:

Eu também compartilho minhas dúvidas.

Eu não finjo ser um super-profissional, não chego ao nível de um profissional - ninguém lê mensagens... é claro aos olhos do cavalo.

Mas quanto mais eu escrevo código (não muito até agora) - uma pergunta ocorre:

Como os parâmetros são passados em funções?

(por nome ou por valor?)

Tenho uma suspeita de que as variáveis das cordas ficam afoitas ao passá-las.

;)

Isto pode ser facilmente descoberto. Você passa uma variável de string pré-inicializada com um valor para um subprograma. Na sub-rotina, verifique antes de tudo o que exatamente foi passado. Por exemplo, assim:

//+------------------------------------------------------------------+
//|                 Старт работы скрипта                             |
//+------------------------------------------------------------------+
int start(){
  string Stroka="Любая биллеберда";
  Alert("----------------------------------------");
        Alert("В функцию передано значение переменной Stroka = ",Stroka);
        Proverka(Stroka);
        Alert("----------------------------------------");
        return(0);
}
//+------------------------------------------------------------------+
//|                  Пользовательские подпрограммы                   |
//+------------------------------------------------------------------+

void Proverka(string Str){
  Alert("В функцию поступило значение = ",Str);
}