Diese Seite mit anderen teilen ...

Informationen zum Thema:
WinDev Forum
Beiträge im Thema:
Erster Beitrag:
vor 2 Jahren, 11 Monaten
Letzter Beitrag:
vor 2 Jahren, 11 Monaten
Beteiligte Autoren:
Fabrice Harari, abonds

Design thoughts...

Startbeitrag von abonds am 10.07.2015 02:57

Having a headache visualizing this one... and it's probably fairly simple and I'm just getting old and senile... (don't agree too quickly).

I would like to create an analysis/data files and put them in a directory on the hard drive, then create programs that accesses that analysis/data files, placing those programs in subdirectories off of that original subdir. Something like this:


All Program's will access the same data. The analysis will be its own separate Project and act like a "Data Access Layer" (DAL), containing all the CRUD functions to modify the data. Any HAdd/Delete or similar data manipulation statements would be performed in the DAL, as requested by a Program. The DAL will be a completely self contained module, its only job is to receive/send data to the Programs or its own internal utilities. This would be similar to how a Class works but written in Procedural/Functional (something I understand... old dogs ya know).

The Programs represent different functionalities. Like one that takes an order, one that processes the order incrementing/decrementing stock, one that keeps statistics, another that packages data and sends it off over the wire, etc. I am trying to keep them modular and not in one large program so one does not have the chance to crash and take others with it. Plus it makes maintenance easier as we just replace one independent part if something goes wrong.

At the Program level data can be created (a new sales transaction, or new product recieved into the inventory), or data from the DAL will be loaded into an array/structure, where it can be sliced and diced and then sent back to the DAL.

I realize this is something like putting a SQL DB on a server, but I am trying to do this strictly local and use HFClassic, and use functional/procedural and not classes/poop.

Besides "you are crazy" or "why don't you just use classes", any thoughts?

Thanks in advance, Art.


Hello Art,

First let me tell you that I find all this to be overly complicated for no good reason... I read your rationales and disagree, but that's just me.

Then, technical thoughts:
- where the DB is situated is irrelevant... It should be in user/appdata as usual, as anyway only your DAL program will access it.
- Second, WHERE the secondary programs are is ALSO irrelevant, as they will have to communicate in memory with the DAL, and that is completely independent from where they are physically on the disk

From those two things come the fact that you can simply have all the programs in ONE directory in program files, and the DB in user/appdata...

The only thing really remaining is to decide how the different programs will communicate...

You can use shared memory zone, sockets, or any other thing. The real complexity is going to be the error management in the communication layer, as everything else will depend on that.

Hope this helps

Best regards

von Fabrice Harari - am 10.07.2015 09:59
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.