Re: ODBC Driver Question

2018-07-15 Thread Wollenhaupt, Christof
>
> I am now thinking there must be an easy way to fire off this query in a
> different datasession or thread so that any problems caused by the ODBC
> driver are lost after each execution, any brilliant ideas?
>

Memory is allocated on the process level and not automatically freed when
the thread that allocate a block is terminated. If it is a faulty driver,
you need to create a new process from time to time. Options would be to put
this part of your application into a EXE COM Server that you occasionally
release and re-create, a separate EXE that you launch or by letting your
application restart itself every x iterations.

You haven't said anything about which ODBC driver this is. Maybe there is
an updated version available? Or maybe there is another vendor with drivers
for the same database (Oracle DBs have multiple options, for instance).

-- 
Christof

-- 

foxpert GmbHUlzburger Straße 352
22846 Norderstedt


Tel. Zentrale: (040) 
605 3373-70
Fax: (040) 605 3373-75
http://www.foxpert.com 

Registergericht: Amtsgericht Kiel, HRB 19260 KI

Sitz der Gesellschaft: Norderstedt
Geschäftsführer: Christof Wollenhaupt



--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhg5nnrd3rrkwmflv9p4oubpxv_b237ngxnif82gjcu...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: [NF] SQL Server - too many databases?

2018-07-15 Thread Wollenhaupt, Christof
>
> We are running into an intermittent issue w/ our SQL Server running
> SQL2016. It's not that our tables are all that large (usually), but our
> server is trying to manage around 550 different DB's parked on it. Few of
> the DB's are open at any one time, but the server has to keep track of them
> at least to some extent.
>
> When the problem arises our dev team runs into timeouts and sometimes the
> problem goes away, some time it doesn't and our IT guys out of desperation
> restarts the machine.
>

The limit is much higher, indeed. For SQL Server the number of databases is
also less a performance issue than many assume. Sql server stats should
give you an indication of what goes wrong. With lots of waits on the
network interface (outgoing, not the SAN one), you could have one of two
issues:

You are transferring too much data, doing SELECT * queries when you only
need a few columns, and such. If your server is connected to a single GBit
network port and you have 1000 clients, that's 100 KB/sec maximum transfer
rate per client while at the same time Sql server is serving data from
memory a magnitude faster.

You have high latency on the network such as a VPN, a WAN, a client using
Wifi, a defective switch or a misconfigured network with ARP floods, etc.

There another common scenario not related to network waits. The server
slows down massively, but doesn't seem to consume any significant
resources. This is usually due to locking issues with a larger number of
users. In this scenario the application typically behaves great for the
developer who is testing on their own, but not all great when many users
start working.

I gave a session on these kind issues a few years ago at Southwest Fox.

-- 
Christof

-- 

foxpert GmbHUlzburger Straße 352
22846 Norderstedt


Tel. Zentrale: (040) 
605 3373-70
Fax: (040) 605 3373-75
http://www.foxpert.com 

Registergericht: Amtsgericht Kiel, HRB 19260 KI

Sitz der Gesellschaft: Norderstedt
Geschäftsführer: Christof Wollenhaupt



--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhiKPukv=97vs54rRwXjVQKvo5=1usc7ol85u3z0jng...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: VFP in Windows on a Mac

2018-06-25 Thread Wollenhaupt, Christof
Hi John,


> What are you using for the VM - VirtualBox?
>

I'm using VMWare Fusion Pro. When I started virtualizing development
systems in 2007, most other products weren't ready. They either required a
lot of fiddling around or weren't cross-platform (VMWare supports Mac,
Windows and bare-bone with ESXi). I didn't want to spend time getting my
system to work instead of doing billable work.

-- 
Christof

-- 

foxpert GmbHUlzburger Straße 352
22846 Norderstedt


Tel. Zentrale: (040) 
605 3373-70
Fax: (040) 605 3373-75
http://www.foxpert.com 

Registergericht: Amtsgericht Kiel, HRB 19260 KI

Sitz der Gesellschaft: Norderstedt
Geschäftsführer: Christof Wollenhaupt



--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhjkuFB1MtZ+EggL54zgUBpx1W7h=f56abs32zneojj...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: VFP in Windows on a Mac

2018-06-24 Thread Wollenhaupt, Christof
I've been using a Mac as the main development machine since 2009. Before
that I had VFP running on an ESXi server in a virtual machine and RDPed
into it. Windows 10 and VFP run in a virtual machine which is so much
easier to handle. Take a snapshot regularly and when things go bad, just
turn back time. I'm running on the Mac whatever is available there, but
some things are still Windows (or are simply more convenient for me in
Windows), such as VFP, Visual Studio, MS SQL Server, FinalBuilder...

-- 
Christof

-- 

foxpert GmbHUlzburger Straße 352
22846 Norderstedt


Tel. Zentrale: (040) 
605 3373-70
Fax: (040) 605 3373-75
http://www.foxpert.com 

Registergericht: Amtsgericht Kiel, HRB 19260 KI

Sitz der Gesellschaft: Norderstedt
Geschäftsführer: Christof Wollenhaupt



--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhgkHu-9FWFq34dQsdUdP8XPYmCfm8xAQ1OQJ=7pzku...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: Modulo 97 of a very large number

2018-04-16 Thread Wollenhaupt, Christof
>
> I need to calculate N % 97 aka Mod(N,97) for very large numbers containing
> 28 digits.  Obviously VFP can't handle numbers that large but maybe
> somebody can suggest some kind of piece-wise method that would enable me to
> calculate what I need?
>

Sounds like an IBAN checksum calculation.

Procedure IBAN (tcCountry, tcBBAN)
Local lnChk, lcIBAN
lnChk = 98 - This.CheckSum (m.tcCountry+"00"+m.tcBBAN)
lcIBAN = m.tcCountry + Padl( Alltrim (Str(m.lnChk)), 2, "0") + m.tcBBAN
Return m.lcIBAN

Procedure Checksum (tcIBAN)

Local lcBBAN, lcLK1, lcLK2, lcDigits
lcBBAN = Substr (m.tcIBAN, 5, 18)
lcLK1 =  TRANSFORM (ASC (Left (m.tcIBAN,1))-55,"@L 99")
lcLK2 =  TRANSFORM (ASC (SUBSTR (m.tcIBAN,2,1))-55,"@L 99")
lcDigits = m.lcBBAN + m.lcLK1 + m.lcLK2 + Substr(m.tcIBAN,3,2)

Local lnMod, lnPos, lnDigit
lnMod = 0
For lnPos = 1 to Len(m.lcDigits)
lnDigit = Val (Substr (m.lcDigits, m.lnPos, 1))
lnMod = ((m.lnMod * 10) + m.lnDigit) % 97
EndFor

Return m.lnMod

If you by chance need to generate German SEPA XML files, we have a VFP
solution for that. It should be adoptable for other countries with minor
changes.

-- 
Christof

-- 

foxpert GmbHUlzburger Straße 352
22846 Norderstedt


Tel. Zentrale: (040) 
605 3373-70
Fax: (040) 605 3373-75
http://www.foxpert.com 

Registergericht: Amtsgericht Kiel, HRB 19260 KI

Sitz der Gesellschaft: Norderstedt
Geschäftsführer: Christof Wollenhaupt



--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhgtgiwq3wc0o38fqhbk1kcrzjpnfrzr9i7+fbkzep8...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: AVFP - was [NF] Reporting in Python (Django)

2018-03-17 Thread Wollenhaupt, Christof
>
> Reading Thierry Nivelet's accurate description of the problems of using a
> Web Application as an end-user business solution (and his advocacy for
> FoxInCloud),   I started wondering what happened to AVFP (Active Visual
> Foxpro pages).
> I got a couple of trivial web pages working based on their examples, but
> after CodePlex folded AVFP seemed to disapper as well (just a downloadable
> on the CodePlex archive site).


To avoid some confusion... There is ActiveVFP (AVFP) which was initially a
commercial product by Claude Fox (or Fuchs) and later open sourced. There
are sources on GitHub  from 2013
and an archive on CodePlex . I
don't know which one is the more recent code.

Active FoxPro Pages  (AFP) is a product originally
developed by Peter Herzog, owned by ProLib and later maintained by Jochen
Kirstätter and me, mostly. AFP was bought by BvL.com who have a document
management system written in AFP. It's still owned by BvL.com, but foxpert
is doing support, distribution and development now. It's not open source
and requires a license for non-evaluation purposes.

FoxInCloud is built around WebConnection from West Wind Technologies
. We looked at supporting AFP with FoxInCloud, but
couldn't make the license model work (AFP is licensed per server,
WebConnection per developer).

-- 
Christof

-- 

--
foxpert GmbH
Ulzburger Straße 352
22846 Norderstedt

Tel. Zentrale: (040) 605 3373-70
Fax: (040) 605 3373-75
http://www.foxpert.com
--
Registergericht: Amtsgericht Kiel, HRB 19260 KI
Sitz der Gesellschaft: Norderstedt
Geschäftsführer: Christof Wollenhaupt


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhgunje_wamctiwg+tv+f_m_wqssh9d2cjtapbk_fgh...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: AW: AVFP - was [NF] Reporting in Python (Django)

2018-03-15 Thread Wollenhaupt, Christof
My first mail from yesterday stuck in the filter... Apologies if I'm double
posting.

Reading Thierry Nivelet's accurate description of the problems of using a
> Web Application as an end-user business solution (and his advocacy for
> FoxInCloud),   I started wondering what happened to AVFP (Active Visual
> Foxpro pages).
> I got a couple of trivial web pages working based on their examples, but
> after CodePlex folded AVFP seemed to disapper as well (just a downloadable
> on the CodePlex archive site).


To avoid some confusion... There is ActiveVFP (AVFP) which was initially a
commercial product by Claude Fox (or Fuchs) and later open sourced. There
are sources on GitHub  from 2013
and an archive on CodePlex . I
don't know which one is the more recent code.

Active FoxPro Pages  (AFP) is a product originally
developed by Peter Herzog, owned by ProLib and later maintained by Jochen
Kirstätter and me, mostly. AFP was bought by BvL.com who have a document
management system written in AFP. It's still owned by BvL.com, but foxpert
is doing support, distribution and development now. It's not open source
and requires a license for non-evaluation purposes.

FoxInCloud is built around WebConnection from West Wind Technologies
. We looked at supporting AFP with FoxInCloud, but
couldn't make the license model work (AFP is licensed per server,
WebConnection per developer).

-- 

--
foxpert GmbH
Ulzburger Straße 352
22846 Norderstedt

Tel. Zentrale: (040) 605 3373-70
Fax: (040) 605 3373-75
http://www.foxpert.com
--
Registergericht: Amtsgericht Kiel, HRB 19260 KI
Sitz der Gesellschaft: Norderstedt
Geschäftsführer: Christof Wollenhaupt


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhjMJ+X-UWwSKPCH_+js=-GggVdo1=jvtyxxifw86su...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: [NF] SSD drives vs. 7200 rpm drives

2017-11-20 Thread Wollenhaupt, Christof
For a laptop I wouldn't even consider a rotating disk. Had several classic
HDDs that crashed, but never an SSD. I first switched to SSDs eight years
ago. My current laptop has a 2 TB SSD (a single drive, wOOdy! ) and
duplicates an 80 GB VM image in less than a minute.

Classic disks are for servers or NAS storage. SSD drives are only 260 €/TB
(320 for Samsung). It's probably the cheapest way to improve performance.
Samsung has a 4 TB SSD for laptops, if you are worried about capacity (link

for wOOdy).


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhiuul_kk4p3vuhvo6onjjw5ckuc7adxlcmu9d_6sqv...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: persistence of sql server database in memory

2017-11-11 Thread Wollenhaupt, Christof
>
> However, if I physically remove the hard disk (E:), the management studio
> still shows all tables of database B and select statements show data from
> the applicable tables.
>
> I thought that the data resides in memory in the cache. So I disconnected
> the SSMS from the engine, even turned off the SSMS. Then, when the SSMS was
> up again, it would still show the database B (even if its lodging HD was
> disconnected and put away in a drawer) and queries would still show data
> from any of the tables.
>

SSMS has nothing to do with how SQL Server caches data. It's merely a
client that keeps a connection open. All caching is done in the SQL Server
service. If you want to clear that cache, you need to restart the service.
However, let's be clear here: Putting a database file on another drive
isn't increasing security for a variety of reasons.

First of all, as you've noticed, SQL server itself operates ONLY from
memory. There's another component involved (called the SQL reader) that is
responsible for getting any missing pages of a SQL server database into
memory if SQL server needs those. It's not like in VFP where memory is used
to increase performance.

Second, SQL server persists data into other databases, mainly the tempdb.
Any data from database B can end up written to tempdb at any time. tempdb
is located on the C: drive by default, unless you changed this during SQL
server installation.

Third, if you fear that employees can access drive C: on the SQL server (to
which only admins should have access anyway), then they can also access
drive E:, either physically or by using the physical access to C: to get
into the computer and access E: remotely.

Now, to answer your question... In order to completely remove data from the
SQL server you have to follow these steps:

1) in SSMS *detach* database B.
2) Shut down the SQL Server instance
3) Remove drive E: safely
4) Restart the SQL server instance

This will, of course, kick all users out of the application and cancel any
running transaction. In addition you should at least have one encrypted
database attached to SQL server as this will cause SQL server encrypt
tempdb, as well. This will, depending on your hardware, slow down
operations, though. Without encrypting tempdb, you still risk data from B
being available on drive C:

Seriously, though: I'd put database B on a second SQL server and instead of
taking the hard disk with me, grab the whole server. This would require a
second connection in your VFP application, but it's more secure than trying
to purge any trace from the first server. The whole environment sounds like
any inexpensive small computer would actually be sufficient for this like
an Intel NUC with an SSD.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhhtAM+s6DYWsaAg4h1LoA9fZxNX0Hm_5ek=wvro57b...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: [NF] INT vs MEDIUMINT vs SMALLINT vs TINYINT

2017-10-28 Thread Wollenhaupt, Christof
That is largely dependent on the engine you use in MariaDB. Have you
settled on one?

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhipvx8se1_z8mtyubo7oawpgqqp+9q9kzuvxmovl5i...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: ☀many thanks

2017-09-27 Thread Wollenhaupt, Christof
>
> Don't worry such a page could infect your computer; it's just a big bluff
> to sell you a piece of sh…
>

No, sorry, that's not correct. Web sites exploit bugs in browsers,
extensions, the operating system. Merely by opening a web page, they can
run code on your system. We had this in the past for example:

- GDIplus had a bug that when a certain image would shown, some part of the
image would be treated as code and executed.

- TCP/IP stack bugs exploited buffer overruns by sending you TCP/IP
packages out of order or malformed packages.

See
https://www.secplicity.org/2014/06/10/windows-updates-fix-gdi-rdp-and-tcp-vulnerabilities/

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhiSa+BG=xXZF4doMwROA7TC=0dxqo792vjai1s4492...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: FP DOS app printing to LPT1

2017-08-28 Thread Wollenhaupt, Christof
> What is the add on I need to find for running my old car lot app on a semi
> modern machine?  An old customer replaced a Win98 machine today.
>

There are several... We use PrintFil for printing from DOS onto a Windows
printer or into a PDF.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhjqyjthne94d8nys5rg2a6egtp7dmgdzzv7orzm7wu...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: web Ticket system online (FoxInCloud?)

2017-06-21 Thread Wollenhaupt, Christof
one more option: ZOHO Support. Not great, but works and has a free tier.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhiUrL0cUa9x7t5ptNLiqv_=5ydBpSyTP2Fx+O=rr7+...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: [NF] C#: Single inheritance

2017-05-18 Thread Wollenhaupt, Christof
>
> Ah...but tell me, can you call to the parent's parent class, like VFP's
> class::JumpMoreThanOneLevelUp?
>

If you are not talking about a virtual method, you can use

(this as GreatGrandParent).Method();

when Method is either protected internal, internal or public. For a virtual
method you cannot skip a level using the base keyword, nor can you for
protected methods.

Why would you need, though?

Keep in mind, that in .NET protection and overriding is done at the class
level, whereas in VFP it's at the object level. That means, in VFP you
can't access protected members of another instance, in C# you can. In VFP
you can nest objects through inheritance and composition (containership)
which you can't in .NET.


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhjsbh4rmei689rczwudahp_uwagr7txa5dyjaq0ssq...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: [NF] C#: Single inheritance

2017-05-18 Thread Wollenhaupt, Christof
>
> I could have swore somebody told me DotNet was MULTIPLE inheritance, where
> you could have multiple parents...which I thought was really great & cool!


Multiple inheritance of interfaces, but only one actual parent class...

class Class : Parent, Interface1, Interface2, Interface3 { }

I'd argue that there is a good reason not to support multiple inheritance
as that easily leads to violations of the Single Responsibility Principle.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhjkMeLNuODkXyeQo3CHF6-w=zpntum8wzewdbn_7ks...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: VFP EXE and RDS random crashes

2017-04-12 Thread Wollenhaupt, Christof
>
> To that point--would copying the FRX/FRT locally and running from there be
> a better option to avoid that?
>

It would depend on which file is causing the problem... It certainly would
be worth a try. If the EXE or any of the REPORT*.APP files is on the
network it also would help to copy those to a local drive. Same is true for
any DLL or OCX you use.

Another issue that causes crashes mostly when printing, but usually
wouldn't result in a C6 exception, is the floating point problem. 15 years
ago HP printers where notoriously famous for changing the exception
handling for the floating point unit so that a division by zero caused a
crash instead of returning NaN (not a number).

To work around this, we have

DECLARE _fpreset in MSVCR71.DLL
_fpreset()

everywhere in our program where we access a printer driver. So before and
after printing a report, selecting a printer, listing printers, etc.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhhcqftdp4g_kfbert4rmcqgg1wzl7o4gyc7fvrjgt4...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: VFP EXE and RDS random crashes

2017-04-11 Thread Wollenhaupt, Christof
>
> What I'm seeing in the Windows application log when this happens are
> mainly C6 errors.
>

C6 errors occur when VFP opens a file using memory mapping (APP, EXE, DLL,
mostly), accesses a part of the file that is mapped into memory and the
file isn't accessible. Usually this happens when the network was briefly
disconnected and the SMB session became invalid. Typical reasons are flaky
WiFi connections, slow VPNs or virus scanners suddenly detecting a
heuristic pattern.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhhcfTLJ1cU0Ky0kh4=r=nghj_jiwpec5zd1q2lo9ho...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: [NF] Hardware vs Software Router/Firewall Recommendations

2017-01-11 Thread Wollenhaupt, Christof
I briefly checked into Sophos, but found that to be overkill for our needs.
We settled on pfSense which is available as an ISO, a virtual appliance and
on hardware (it's open source). It supports ipSec and OpenVPN tunnels for
external access. It does have firewall capabilities mostly based on port
rules and stateful inspection:

https://www.pfsense.org/about-pfsense/features.html

Dedicated hardware is needed if you have a lot of traffic like in a switch
where the theoretical throughput is 1 Gbit times half the number of ports
or for a heavily used VPN gateway. But for a router/firewall the bottle
neck is likely the internet connection rather than the computer. A regular
PC is more powerful than most hardware that is built into physical routers.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhj9U2G-fq=hhwvbtf3flmrjd-wskzrnt4stgum85uk...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: Shortcut brings up Do? dialog when linked to VFP EXE

2016-12-29 Thread Wollenhaupt, Christof
Check the permission on the network drive. The user might not have all read
permissions including those to read file attributes.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhjvm2f8v_+z88j9gdhc3u+pevysbegt05zrhtu3txn...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: PROTECTING YOUR DISTRIBUTED CODE (was Re: Using a common class from another EXE/DLL)

2016-12-03 Thread Wollenhaupt, Christof
> Can you elaborate on that?  Is that because of the binary storing in VCX
> files?  Would that also apply to SCX files too?
>

long version: http://foxpert.com/docs/security.en.htm

*TL;DR:*

SCX files are a bit more difficult, but not by much. The approach is the
same.

SCX and VCX are opened in the system data session when you execute them.
Code injection allows you to copy those files out of the running
application.

Code in the OBJCODE is never encrypted. Clearly visible when you look at
the help file for the COMPILE command and the ENCRYPT option.

The report designer is always the easiest. If you let the user modify
reports try this in your EXE: Open the report designer, right click to open
the data environment, right click to add a file. Pick Other. In the file
open dialog enter the name of a VCX or SCX file that is embedded in the
EXE. The name must be in quotes. You will see the file being available in
the report data environment.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhg=s2k7f53nyfh8uso4foskje3upatbvybdbiqrr_9...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: PROTECTING YOUR DISTRIBUTED CODE (was Re: Using a common class from another EXE/DLL)

2016-12-02 Thread Wollenhaupt, Christof
>
> Can you think of any other tool preferable to use for protecting your
> deployed apps?
>
> Any comments on the two mentioned above?
>

As long as you are aware that none of these tools will protect code that is
stored in a VCX, they are both good choices.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhg_ato99jhjzwqvbk8rb_8s-gx14jouirxmra8+x-9...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: Using a common class from another EXE/DLL

2016-12-01 Thread Wollenhaupt, Christof
Hi Mike,

I want to be able to instantiate an object of this class and use it to
> validate some things like login and license validation.
>


This is one of the things that sound easier than they are in VFP due to the
program cache and VFP's project scope management. The cleanest approach
would be to have a main program in that EXE that instantiates the object:

LParameter tcAction, roRef

Do case
Case Upper(m.tcAction) == "CREATE"
roRef = NewObject("Test", "test.prg")
EndCase

Then build the EXE and call it like this:

Local loTest
Do Test.EXE with "CREATE", loTest
? loTest.Hello ()

Obviously you would need to create your own set of actions and also handle
parameters if your class needs those.

A caveat, your other applications should not include a file or a class that
has the same name as the ones in your EXE, or VFP can sometimes confuse
both and crash.


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhgz8OH9Hbg_MikqRD8Ekq2U9PN7+Lt4CVY8BWHuSL1N=w...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: What is the maximum number of Tags i can have in a CDX file?

2016-11-02 Thread Wollenhaupt, Christof
>
> Yes, that's the correct answer.   It's as many you can create without
> going over 2.0 gb


Tag names occupy space in the name table which is limited to 65,000
entries. Which is still a hypothetical limit as updating that many indexes
slows down file operations quite a bit. With these day's Windows Servers
you are also almost guaranteed index corruption. ;)

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhhjthzebj2uohx-surqwcoz5e3xi+p6ravys18d7zt...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: Command button to take a photo

2016-10-21 Thread Wollenhaupt, Christof
>
> Do you think the process is the same for an in-built camera as it is for a
> usb camera?
>

Yes, the process causes the same kind of headache for a built-in camera vs
an external USB camera. Here is the summary of taking pictures in VFP from
my sensor session last year:

CameraCaptureUi
- Only available in Windows Store Apps

MediaCapture
- Crashes, probably due to driver issue

TWAIN
- Complicated, hard to get drivers

Windows Image Aqcuisition
- Kind of works, but low resolution and camera keeps disappearing

HTML 5 getUserMedia
- Works in Edge and Chrome, but can‘t easily embed those


TWAIN is covered in the article from Mile Lewis, Windows Image Acquisition
is the news2news solution that is also on the FoxPro wiki. Using the camera
application gives much better pictures, but zero control over the image
taking process and picture location.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhgn_CXnELeL=N7zTDiJBsdXz5zagFFzMJZ=mSX6POWV=a...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: [NF] Headed to SWFox

2016-09-13 Thread Wollenhaupt, Christof
>
> We will be there Thursday, Friday, and Saturday nights. We are wondering if
> we should rent transportation for dinners. Partly due to I am a dairy free
> vegetarian, and partly due to where restaurants are. We have not been to
> SWFox at this location before.
>

There's a shopping mall with many restaurants in what I would call walking
distance (slightly less than a mile).

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhic60dd_njVvbUXOMek_yDvFNza5XC59=w5g3a3z1t...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: Flat file to Excel....but it's got more than 255 columns!

2016-08-20 Thread Wollenhaupt, Christof
>
> Sounds like Christof's ExcelXML class.  Recall that I can't use VFP data
> storage due to > 255 columns.


My class uses the first Excel XML format; the VFPX class uses the current
XML format. The old format has the advantage of easily being creatable with
text merge, since it's a plain text file. The XLSX Format is a ZIP file
with a more complex XML format that requires a library to create files.

Personally, I'm mostly using a commercial product named GemBox these days
with Rick Strahl's wwDotNetBridge to call it from VFP.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhiy=hnw+usxcd8var2of4wfk2xuzmeqqj7rkd76txd...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: Flat file to Excel....but it's got more than 255 columns!

2016-08-18 Thread Wollenhaupt, Christof
>
> I think Christof had a posting a couple of years ago with a VFP class that
> would allow for some formatting (Bolds, colors, etc.) of the XML so it
> looks "nicer" when opened.  I think you can even put formulas in the XML
> and have Excel honor it.
>

Indeed. The white paper is still on our web site:

http://foxpert.com/docs/excel.en.htm

A sample program is at the bottom

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhhxivvdyunakpdful4e6bkizh6od6yoxswemstpmty...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: [NF] windows server 2007

2016-08-16 Thread Wollenhaupt, Christof
>
> A client has been told windows 10 does not work with windows server 2007
> and
> that they need to pay 15,000 AUD (Australia) to upgrade.


They might be right if the client is on a volume licensing program. Some
components for the activation of client PCs do not run on all versions of
Windows Server. I don't know which versions are supported for the
activation of Windows 10, but the minimum version is likely either Windows
2008 or Windows 2008 R2.

Also, some volume license programs have limited downgrade rights. So the
company might need to move to the current version (or one or two behind)
for compliance rather than technical reasons.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhiufs=janrjc8ynqotvp7+yymhagfhii8xnuhgyz1b...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: Do prompt when starting EXE

2016-07-06 Thread Wollenhaupt, Christof
>
> I have an VFP 9 EXE that runs fine on mapped drive on the network from the
> main folder. They made a copy of the folder and a new mapped drive to the
> new folder but when we try to start the EXE we get a DO prompt. We can
> select the EXE at this point and the program will start. Very weird.
>
> Has anyone had this problem and know of a solution ?


Usually this is either a corrupted EXE or an EXE that is partially blocked
by a virus scanner.

A common issue with virus scanner is that the exclusion list only has the
mapped drive path, but the EXE is launched from an UNC path (or vice versa).

Mixing mapped drives and UNC paths can also lead to different App_Compat
flags in the registry that cause different behavior.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhife2xwqdlcx7s1aktci6m6uqgbogiq667yorpg5oe...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: A Blank Value for a Number?

2016-06-15 Thread Wollenhaupt, Christof
FoxPro supports blank values in DBF files. Numeric values are blank by
default and can be blanked using the BLANK command. The ISBLANK() function
tells you if a numeric field is zero or blank.

When you use GATHER, REPLACE or INSERT and a memory value is present for
this column, then you end up with a zero in the column. To maintain a blank
value you must not write anything into it, at all. Any kind of UI bound
editing whether in BROWSE, EDIT or as a ControlSource will also result in
the field becoming zero. That's because we do not have blank values in
memory.

When other systems read DBF files and do not have a concept of blank
numeric value, then usually the blank field is replaced by 0 for numeric
values or some minimum date for date and time values.

.NULL. is the standard way of doing this with almost any other database
system, though.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhhbN66U8RgevuP6GVT+VRoJf9+L3Zu=dj765-3vasy...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: "PATROL" is the same as .NULL.???

2016-06-13 Thread Wollenhaupt, Christof
>
> I have a departments table, and when I open it in browse mode, and type
> the following:
>
> BROWSE FOR vehdept = 'PATROL'
>
> It pulls up a single record, which has .NULL. in the vehdept field. There
> are other records with .NULL. in that field, but it only pulls up this
> one.  ? IsnNull(VehDept) returns .t., so it's not a case of a string
> ".NULL." (Which shouldn't match either.)
>

If the record doesn't appear with

BROWSE FOR vehdept = 'PATROL' NOOPTIMIZE

then it's a corrupt index file.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhigp_twlsfluoujdzem04dldh74zt-wfjeecxq6kq5...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: SYS(2050)

2016-05-26 Thread Wollenhaupt, Christof
>
> On FoxWiki, there is an entry about SYS(2050) which apparently creates some
> sort of log file. The function does not appear in the VFP Help file -
> anyone know anything more about it?


It's the VFP event loop log. Basically, it records mouse clicks and key
strokes. The first column is the current time, second column the event (key
up, down, click), third column a qualifier (key for keyboard events,
Ctrl/Shift/Alt state for mouse click). The fourth column is probably the
encoded 32-bit message that VFP uses internally (ie. the same as column 2
and 3).

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhju1ROk_AGKAFO=dpwpx3soxfwjgatnjq2whblzdl8...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: [NF] Your Experience with Virtualized Networks

2016-04-13 Thread Wollenhaupt, Christof
>
> It's been suggested that I virtualize my network. To me the advantages are
> not clear but the risks are.


It really depends... We've been running a VMWare/ESXi host with up to 20
VMs using VMWare Essentials  now for almost eight years now, but are slowly
moving back to individual VMs.

Advantages of a virtual infrastructure are:

- fail over is easier (not cheaper!) done. All you need is a second server
and you can quickly move all machines to the new system. In an emergency,
you can even get cheaper desktop grade hardware and things will continue to
run albeit slowly, until the replacement hardware is available.

- Backup is a lot simpler and cheaper. You don't need one server license
per server. We use VM Explorer which is a heck lot cheaper than Veeam.
Unlimited hosts, incremental backups... You can do hourly snapshots with
little impact and go back to a previous state almost instantly.

- Combining hardware with low usage of resources.

- Servers that communicate over the network are faster since the integrated
software has almost now latency and no bandwidth constraints, if they are
running on the same host.


Disadvantages are:

- You really need expensive storage. We are running a RAID array with six
disks near-line SAS disks, and that's really the minimum. A single disk has
a limited number of write IOPS. If you do not increase that amount by
adding either more spindles or using SSD drives, than you will see a
significant performance decrease. Also, RAID controller become a lot more
important, if you are not using a dedicated SAN. A SAN means 10Gb Ethernet
or Fiber Channel, so a lot more expensive.

- More complex. That's the reason for us to move back to individual
machines. If something breaks you need someone who knows what they are
doing. It'll work in a company that has multiple persons in IT. It doesn't
work when the company owner happens to be the IT guy.

- More expensive. You really need server grade hardware. You need redundant
pieces of everything. You are limited in choices, because you suddenly have
to pay attention to the VMWare or Microsoft compatibility list, otherwise
you won't get support.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhinbmt1xujnn-v0t4og4ptt5xdoir3njt-9bzo0l6y...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: ReFox to reverse compile a VFP9 EXE?

2016-03-24 Thread Wollenhaupt, Christof
>
> It will have to be, unfortunately, as I don't think we've got any other
> options at this point.


True. What I really wanted to say is that you should examine the code
_before_ making any financial commitments, because working on refoxed code
is going to be harder and take longer than usual.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhjGCLCGBQ1c=tTnXE0g9qdYx=_ybz3gec-l9mmozoz...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: ReFox to reverse compile a VFP9 EXE?

2016-03-23 Thread Wollenhaupt, Christof
>
> Can I use ReFox to somehow get the source code from the distributed EXE
> (assuming he didn't use ReFox to encrypt it)?


Sure. You should be aware of three limitations, though:

1) Comments won't be recovered unless they are in a VCX/SCX file and the
EXE has been created with debug info.

2) Constants in include files cannot be recovered at all. You get an empty
include file and everything in the source is replaced.

3) Certain expressions are simplified. Where the original source code read
x = 5+3 you get x = 8 when you decompile. With code that calculates
positions or lengths this might be less readable.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhiq0eftdfjsjwnhy10xxzfvvvpogh6tj76ywjrepq3...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: [NF] So SQL Server is coming to Linux.

2016-03-08 Thread Wollenhaupt, Christof
>
> Maybe another push is required on VFP now M$ has had a rethink
>

VFP was written in C++ against the Win32 API. Making VFP open source isn't
going to change that.  I rather focus on Guineu which could run on any
current platform. You might have noticed that

https://bitbucket.org/cwollenhaupt/guineu

is showing activity again. ;-)

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhh-+xt6tqn8+rqpmss46ydfe_yqludsqsrl334g1py...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: security in programming

2016-03-06 Thread Wollenhaupt, Christof
>
> I encrypt entered passwords, compare them to encrypted stored passwords,
> ala linux.  I am comfortable with that.


I hope you mean hashed... Encrypting passwords is not a lot more secure
than storing passwords unencrypted, especially considering the lack of
libraries with modern encryption routines on FP DOS.


> Currently I use the:
> if choice='A' .and. x=5 .and. y > 3
>   do the procedure
> endif
> where x is theuser's id number and Y is the user's access level.


The most common approach for that is to assign users specific rights or
roles and then check for those. Hardcoding user ids only works in single
installations and is prone to errors after years.

I encrypt my source on compiling.


That doesn't help much, to be honest.


> I don't use variable names that are too descriptive.


There are two way. A hard one and an easier one The hard one is to
actually use non-descriptive variable names in the code. That make it hard
to maintain the code. The easy way is to use a DEFINE statement to
translate the descriptive name to a non-descriptive name.

Since FP DOS does not support include files, you need to insert the #DEFINE
statement at the beginning of the program. A simple program can do this
automatically in all of your PRGs within a project.

--
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhjmjz+x0mpas3q5kjbuegz2p9uk7_d1bry0pawknk2...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: 64 bit VFP compiler?

2016-03-02 Thread Wollenhaupt, Christof
>
> Any lawyer will probably say it infringes EULA or whatever -- it just does
> not matter.
>

I disagree... What I personally do and what legal risks I'm willing to take
is one thing.

But it's a different matter altogether if I sell this solution to
customers, most of which are substantially larger businesses than my own.
These customers have volume licenses and get audited by Microsoft, Oracle,
etc. Moreover, many countries distinguish between using and distributing.
Should using this software be a violation of intellectual property (which
is open at this point), then selling solutions might trigger more serious
legal consequences.

It's not a matter of whether it's good to have VFP support for 64-bit
(which is great), or whether Microsoft has any interest in VFP (they
don't). It's a business decision on how much risk you are willing to take
on something that is at least a gray area. Sometimes such decisions turn
out to be wrong and expensive, as Volkswagen is currently learning.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhj3jyrnyd5nc0faeoqma5bgl6c1hk3isdafosp82s_...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: 64 bit VFP compiler?

2016-03-02 Thread Wollenhaupt, Christof
>
> Has anyone heard of this compiler?  If so, any comments about it?
> http://www.baiyujia.com/vfpcompiler/en/default.asp


It seems to work. However it relies on modified VFP runtime files and
disassembly of the original files. There are also modified copyright
statements in the product. This might or might not be legal in your country
and additionally might require that you get in writing from Microsoft that
they won't release a 64-bit version, or fix any of the bugs. That's the
case in Europe, anyways.

I'd consult a lawyer that specializes in intellectual property and
liability issues, but that's just me.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhhwwfng_u691z7nrmwc6wvsjdr-dr72nmsmpmsi7l1...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: SQL Server Transactions

2016-03-02 Thread Wollenhaupt, Christof
Lots of variables here...

First of all, in VFP you can set SQL Server transactions to manual or
automatic. The default is automatic, so each SQL batch sent from VFP is
automatically committed. If you change to manual, you need to either commit
or rollback on your own.

If you don't, there's another setting in VFP that defines whether closing a
connection with a transaction performs an implicit commit or rollback. Both
settings are changed with SQLSETPROP. the name of the first setting is
"Transactions", the name of the second one is "DisconnectRollback".

Furthermore, you can start transactions in VFP using BEGIN TRANSACTION, END
TRANSACTION and ROLLBACK, and in SQL Server. Both transactions exist
simultaneously and are independent of each other. You can commit on SQL
Server and rollback in VFP without a problem.

To complicate things, there are two ways to control transaction on SQL
Server. You have SQLCOMMIT() and SQLROLLBACK() for the connection handle,
or you can send the corresponding SQL Statements with SQLEXEC. Those are
BEGIN TRANSACTION, COMMIT, and ROLLBACK.

Nested transactions are handled differently. In VFP you can start a nested
transaction. ROLLBACK will only undo changes of that nested transaction.
You can rollback an inner transaction and commit the outer one. COMMIT in
the inner transaction will only commit to the outer transaction. If you
COMMIT on the inner and then ROLLBACK on the outer, nothing gets saved in
VFP.

Not so in SQL Server. Here there's only one level of transactions. You can
start multiple transactions which increments a transaction count. However,
ROLLBACK will always roll back all transactions at once and COMMIT is
ignored unless you are on the outer transaction.

What data you read is dependent on the isolation level of the OTHER
transaction, not your own one. If another client either changes the
isolation level or uses on of the query hints that change the isolation
level for a single query then, yes, someone could read all those changes.
Everyone else has to wait for you to finish the transaction, even for read
operations.

It's different if you were not talking about MS SQL Server (which I kind of
assumed here).

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhgT7PMidgQrDoJXr-7iQQpJArXYXwSUrRrmq=xwo7z...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: Using an expression for the RowSource of a textbox

2016-03-02 Thread Wollenhaupt, Christof
>
> I am almost certain that I have successfully used an expression as the
> field to display in a listbox but I can't figure out the syntax I used or
> which RowSourceType needs to be selected.


Fields works to a degree. But VFP is picky about the syntax and there are a
number of weird effects, like partially drawn listboxes. It's better to
prepare data upfront and use on of the other options such as an array.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhjtoPdvuaLS=kpgzht7nrqjj4nvqtldhvqe-ezqnpi...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: Remote Desktop Options

2016-02-18 Thread Wollenhaupt, Christof
> but clients have experienced the session screen turning black after some
> time.
>

Maybe any of these help?

http://www.grishbi.com/2015/01/rdp-black-screen/
http://www.grishbi.com/2015/07/windows-2012-rdp-black-screen-event-id-7011-a-timeout-3-milliseconds-was-reached/

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cal4qjhi7xjoysfzgg3c9uyedasajcpqcuathe+gngeak-b4...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: Remote Desktop Options

2016-02-18 Thread Wollenhaupt, Christof
> Reading TSplus's Benefits overview they claim that there is No requirement
> for
> Terminal Service CALs. No need for Terminal Service (Remote Desktop
> Services) license manager.  However one of the posts indicates that M$
> still
> requires CALs.
>

This is from the License Agreement of TSplus:

For Microsoft and non-Microsoft applications, you should consult the
license agreement accompanying the applicable software or contact the
applicable licensor to determine whether use of the software with Remote
Desktop or Remote Assistance is permitted without an additional license.


So they give you their opinion on their web site, but in the legal papers
they make you responsible for checking their claims with Microsoft. When
you do, you find this in the Windows 2012 R2 EULA

CAL for each user or device that (...) accesses the server software to host
a graphical user interface (using (...) other technology).


or this in the Windows 10 EULA

you may not: (...) make the software available for simultaneous use by
multiple users over a network


-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhg=r4hm170ccyawcawa1qaemjimmgd9_rfqzirzbce...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: Remote Desktop Options

2016-02-18 Thread Wollenhaupt, Christof
>
> +1 for TSPlus if only for the competitive pricing!
>

Pricing is only competitive if you don't have to worry about compliance
with the Windows EULA. Otherwise it's getting expensive pretty quickly as
you still need to license the client and obtain remote access CALs. Which
means that you might be vulnerable to liability issues if you sell that
solution to a client without CALs.

The EULA of Windows Server requires TS CALs even for third party software.
Desktop Windows systems can only be accessed by a single person at a time
with the exception of remote assistance and - in most versions of Windows -
must have a main user that directly interacts with the system.

-- 
Christof


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/CAL4QJhhyekpU+ekKmJNrThVNc_i5AiXpGpUAxg7mdEpMX6Yr=w...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.