Any questions from a PROFI to a SUPER PROFI - 1. - page 2

 
Zhunko:

Was the project copied into VC++ 6.0 with its properties or was it set up separately?

There was only one working cpp file, with a set of functions. so I re-created the project in 6.0 and just transferred all the functions into it.

I've had three occasions where I've used functions in VS 2010 that aren't in XP. Everything worked on Vista and 7, but under XP the terminal didn't see the library.

That's the problem with the latest VS, they don't make the right dlls. Some dlls work and others don't.
 
sergeev:

There was only one working cpp file, with a set of functions. so I re-created the project in 6.0 and just transferred all the functions into it.

That's the problem with latest VS, they make some wrong dlls. They work on some and not on others.

If copied with all properties, the compiler would show on error that there are no such functions.

New lines with preprocessor directives #IFDEF | #IFNDEF ... #ENDIF. Now they are separated on Vista and before it. A lot of new interesting functions appeared which do not work on XP. Or rather, they're not there.

 
granit77:
If the PROs don't mind, the moderators can help keep the thread as sterile as possible.

There is no need to ask this, even if it is a pro. They (the pros) agree! ))

And please keep an eye on " Where's the Line..." It's an interesting topic and in twenty posts, there's virtually no bullshit.

But a fight is already brewing....

 
sergeev:
That's the problem with the latest VS dlls: they don't make the right ones. They work on some and not on others.
Maybe the problem is in default settings? I think if I upgrade my working project from 6.0 to 2008, it will also build normally, although I could be wrong.
 
TheXpert:
Maybe the problem is in the default settings? I think if you upgrade a working project from 6.0 to 2008, it will also build fine, although I could be wrong.

I had nothing on 6.0, but from 2008 to 2010 all the projects worked. I think the problem is still the use of WinAPI functions that are not available on higher system versions.

When installing the studio, the default minimum system version is the current one. At least that's what I had on 2008 and 2010. I need to change it to XP.

 
TheXpert:
Maybe the problem is in the default settings? I think if I upgrade my working project from 6.0 to 2008 it would work fine too, although I could be wrong.

I originally did it in 2008. Then I repeated the same on 6.0 ( created a dll project from scratch).

It worked. And it worked exactly on Win7 and Vista. 2008 was glitchy, while 6.0 was ok. VS in both cases are on XP.

 
drknn:
Try 226. The issue of dlls has already been raised here. People have come to the conclusion that 226 is the most stable build.
Tried 228, 229 too. They are the same in my case. Similar to 226. Everything works if I don't initialize the library immediately. The 225 doesn't work at all. It freezes the terminal.
 

Oh, bollocks. It must be a question for developers, or everything is not all right in the DLL. I'm not a C++ programmer - tried to make a couple of programs once, and found that while you have a C++ shell installed, everything works. But as soon as you transfer the executable to another computer, as soon as you discover the lack of some dll-cycle. I also don't like working with strings. I gave up that language and settled on Delphi. Maybe you can try to make your dll file with it - such dlls are quite normal with the terminal...

P.S.

So, I don't understand why everyone praises so much C++, if even at the level of choice of a shell for programming problems arise with this language...

 

I share my doubts as well.

I don't pretend to be a super-professional, I don't reach the level of a pro - nobody reads messages... it's clear to the horse's eye.

But the more I write code (not much so far) - a question occurs:

How are parameters passed in functions?

(by name or by value?)

I have a suspicion that string variables get jittery when passing them...

;)

 
Sorento:

I share my doubts as well.

I don't pretend to be a super-professional, I don't reach the level of a pro - nobody reads messages... it's clear to the horse's eye.

But the more I write code (not much so far) - a question occurs:

How are parameters passed in functions?

(by name or by value?)

I have a suspicion that string variables get dashing when passing them...

;)

This can be easily found out. You pass a string variable pre-initialized with a value into a subprogram. In the subroutine, check first of all what exactly was passed. For example, like this:

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

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