Qualsiasi domanda da un PROFI a un SUPER PROFI - 1. - pagina 2

 
Zhunko:

Il progetto è stato copiato in VC++ 6.0 con le sue proprietà o è stato impostato separatamente?

C'era solo un file cpp funzionante, con una serie di funzioni. così ho ricreato il progetto in 6.0 e ho semplicemente trasferito tutte le funzioni in esso.

Ho avuto tre occasioni in cui ho usato funzioni in VS 2010 che non sono in XP. Tutto funziona su Vista e 7, ma sotto XP il terminale non vede la libreria.

Questo è il problema con l'ultimo VS, non fanno le dll giuste. Alcune DLL funzionano e altre no.
 
sergeev:

C'era solo un file cpp funzionante, con una serie di funzioni. così ho ricreato il progetto in 6.0 e ho semplicemente trasferito tutte le funzioni in esso.

Questo è il problema con l'ultimo VS, fanno alcune DLL sbagliate. Funzionano su alcuni e non su altri.

Se copiato con tutte le proprietà, il compilatore mostrerebbe per errore che non ci sono tali funzioni.

Nuove linee con direttive di preprocessore #IFDEF | #IFNDEF ... #ENDIF. Ora sono separati su Vista e prima di esso. Sono apparse molte nuove funzioni interessanti che non funzionano su XP. O meglio, non ci sono.

 
granit77:
Se ai PRO non dispiace, i moderatori possono aiutare a mantenere il thread il più sterile possibile.

Non c'è bisogno di chiederlo, anche se è un professionista. Loro (i professionisti) sono d'accordo! ))

E per favore tenete d'occhio " Where's the Line..." È un argomento interessante e in venti post non ci sono praticamente cazzate.

Ma si sta già preparando una battaglia....

 
sergeev:
Questo è il problema delle ultime DLL di VS: non fanno quelle giuste. Funzionano su alcuni e non su altri.
Forse il problema è nelle impostazioni di default? Penso che se aggiorno il mio progetto di lavoro dalla 6.0 alla 2008, anch'esso costruirà normalmente, anche se potrei sbagliarmi.
 
TheXpert:
Forse il problema è nelle impostazioni di default? Penso che se si aggiorna un progetto funzionante dalla 6.0 alla 2008, si costruirà anche bene, anche se potrei sbagliarmi.

Non avevo niente sulla 6.0, ma dal 2008 al 2010 tutti i progetti funzionavano. Penso che il problema sia ancora l'uso di funzioni WinAPI che non sono disponibili su versioni superiori del sistema.

Quando si installa lo studio, la versione minima di sistema predefinita è quella attuale. Almeno questo è quello che avevo nel 2008 e nel 2010. Devo cambiarlo in XP.

 
TheXpert:
Forse il problema è nelle impostazioni di default? Penso che se aggiornassi il mio progetto di lavoro dalla 6.0 alla 2008 funzionerebbe bene anche, anche se potrei sbagliarmi.

L'ho fatto originariamente nel 2008. Poi ho fatto lo stesso sulla 6.0 (ho creato un progetto dll da zero).

Ha funzionato. E ha funzionato esattamente su Win7 e Vista. Il 2008 era pieno di problemi, mentre il 6.0 era ok. VS in entrambi i casi sono su XP.

 
drknn:
Prova 226. La questione delle DLL è già stata sollevata qui. La gente è giunta alla conclusione che la 226 è la build più stabile.
Ho provato anche il 228 e il 229. Sono gli stessi nel mio caso. Simile a 226. Tutto funziona se non inizializzo immediatamente la libreria. Il 225 non funziona affatto. Si blocca il terminale.
 

Oh, che palle. Deve essere una domanda per gli sviluppatori, o non è tutto a posto nella DLL. Non sono un programmatore C++ - ho provato a fare un paio di programmi una volta, e ho scoperto che finché hai una shell C++ installata, tutto funziona. Ma non appena si trasferisce l'eseguibile su un altro computer, non appena si scopre la mancanza di qualche ciclo dll. Inoltre non mi piace lavorare con le corde. Ho rinunciato a quel linguaggio e mi sono stabilito su Delphi. Forse puoi provare a fare la tua dll su di essa - tali dll sono abbastanza normali con il terminale...

P.S.

Quindi, non capisco perché tutti lodano così tanto il C++, se anche a livello di scelta di una shell per la programmazione sorgono problemi con questo linguaggio...

 

Anch'io condivido i miei dubbi.

Non pretendo di essere un super-professionista, non raggiungo il livello di un professionista - nessuno legge i messaggi... è chiaro a occhio nudo.

Ma più scrivo codice (non molto finora) - mi sorge una domanda:

Come vengono passati i parametri nelle funzioni?

(per nome o per valore?)

Ho il sospetto che le variabili di stringa diventino nervose quando le si passa...

;)

 
Sorento:

Anch'io condivido i miei dubbi.

Non pretendo di essere un super-professionista, non raggiungo il livello di un professionista - nessuno legge i messaggi... è chiaro all'occhio del cavallo.

Ma più scrivo codice (non molto finora) - mi sorge una domanda:

Come vengono passati i parametri nelle funzioni?

(per nome o per valore?)

Ho il sospetto che le variabili di stringa diventino dashing quando le si passa...

;)

Questo può essere facilmente scoperto. Si passa una variabile stringa pre-inizializzata con un valore in un sottoprogramma. Nella subroutine, controllate prima di tutto cosa è stato passato esattamente. Per esempio, così:

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

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