[Gambas-user] who to detect if are running inside IDE
Tobias Boege
taboege at ...626...
Mon Jul 3 22:36:14 CEST 2017
On Mon, 03 Jul 2017, Karl Reinl wrote:
> Am Montag, den 03.07.2017, 20:40 +0200 schrieb Tobias Boege:
> > On Mon, 03 Jul 2017, PICCORO McKAY Lenz wrote:
> > > a piece of code to who to detect if are running inside IDE? any ideas how
> > > to?
> > >
> >
> > Exact same question here: https://sourceforge.net/p/gambas/mailman/message/34204796/
> >
> > If I may add something to the things said in the above thread: you could try
> > to get the parent PID of your Gambas process and determine if it's the IDE.
> >
> > If you always run on Linux you can probably use the /proc filesystem to get
> > the path to the executable of your parent process or its command line. Then
> > it depends on if you want to trust that the user always installs the IDE as
> > "gambas3.gambas", for instance. Examining the parent process will probably
> > not work anymore if you run your process *from the IDE* but through gb.httpd
> > or through xterm (which are options in the IDE).
> >
> > I'm convinced that no matter how you try to detect if you're run by the IDE
> > or not, someone can create an environment where your test gives the wrong
> > answer. I still stand by my statement from two years ago: you shouldn't care
> > where your program is run from in the first place. What problem are you
> > trying to solve by knowing that?
> >
> > Regards,
> > Tobi
> >
>
> Salut Tobi,
>
> I use (since gambas1) the project Arguments from the IDE. I set a ISIDE.
>
> Sub chkIfIsIDE()
> Dim nI As Integer
> bIsIDE = False
> For nI = 0 To Application.Args.Count - 1
> ' PRINT Application.Args[nI]
> If InStr(UCase(Application.Args[nI]), "ISIDE") > 0 Then
> bIsIDE = True
> Endif
> Next
> End
>
> So if I don't call my project with a parameter called ISIDE, I can be
> sure .I ran in the IDE.
>
> And the use is, I set the first key of my DB to 9999 that is my
> Test-Mandant that's just a copy from one of my Mandants in my DB.
> So no problems with crashing DB-data, that's the problem I solved with!.
>
> Sorry : Mandant = mandator
>
Yes, and, in my opinion, you solved it the right way, by introducing
a proper interface which the user has to know and respect. Your program
doesn't guess, it is instructed.
Regards,
Tobi
--
"There's an old saying: Don't change anything... ever!" -- Mr. Monk
More information about the User
mailing list