Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi nonVCL - mit Thread ohne Unit Classes (https://www.delphipraxis.net/51510-nonvcl-mit-thread-ohne-unit-classes.html)

Olli 14. Aug 2005 22:41

Re: nonVCL - mit Thread ohne Unit Classes
 
Zitat:

Zitat von Luckie
Nein, da ist ein extra Tutorial: http://delphitutorials.luckie-online.de .

Du hast doch mal etwas ausführlicher über BeginThread() vs. CreateThread() doziert gehabt. Keine Ahnung mehr wo das war, im DF oder hier oder sogar woanders. Ich ging nur davon aus, daß das auch in deinen Tutorials gelandet ist.

Luckie 14. Aug 2005 23:05

Re: nonVCL - mit Thread ohne Unit Classes
 
Es ging mir darum, dass man besser BeginThread benutzen sollte, da man dann nicht selber die globale Variable IsMultiThreaded auf True setzen muss, um den Heap threadsicher zu machen. War im DF, so weit ich mich erinnere.

Olli 14. Aug 2005 23:38

Re: nonVCL - mit Thread ohne Unit Classes
 
Zitat:

Zitat von Luckie
um den Heap threadsicher zu machen.

... richtig, wenn man den Delphi-Speichermanager benutzt. Ich persönlich bevorzuge bspw. die Windows-Funktionen zum Speichermanagement in meinen nonVCL-Programmen.

Zitat:

Zitat von Luckie
War im DF, so weit ich mich erinnere.

[df]BeginThread IsMultiThreaded[/df] -> Direkt: hier (und vorausgehende Diskussion hier).

Luckie 14. Aug 2005 23:41

Re: nonVCL - mit Thread ohne Unit Classes
 
GetMem wäre der Delphi Speichermanager? Wie wäre die äquivalente Windowsfunktion?

Olli 14. Aug 2005 23:48

Re: nonVCL - mit Thread ohne Unit Classes
 
Zitat:

Zitat von Luckie
GetMem wäre der Delphi Speichermanager?

Ja. In einigen Delphiversionen wird auch GetMemory() unterstützt (IMO ab D4). Ich bevorzuge letztere, da ich keine variablen Parameter übergeben muß ;)

Zitat:

Zitat von Luckie
Wie wäre die äquivalente Windowsfunktion?

Äquivalent ist gut :mrgreen:

MSDN-Library durchsuchenGlobalAlloc
MSDN-Library durchsuchenLocalAlloc (quasi identisch zu GlobalAlloc in Win32, stammt noch aus Win16!)
MSDN-Library durchsuchenHeapAlloc
MSDN-Library durchsuchenVirtualAlloc
MSDN-Library durchsuchenVirtualAllocEx

Weiterhin gibt es noch ein paar Native APIs ;)

Luckie 14. Aug 2005 23:53

Re: nonVCL - mit Thread ohne Unit Classes
 
Ja, GetMemory gibt es auch noch, ist aber nicht dokumentiert in der Hilfe. Welche Windowsfunktion würdest du jetzt am ehesten für GetMemory verwenden? GlobalAlloc und HeapAlloc machen ja anscheinend das gleiche. Speicher auf dem Heap reservieren. Aber wo ist jetzt der Unterschied zu VirtualAlloc? Der Speicher, den ich mit HeapAlloc reserviere, wird doch wohl auch im virtuellen Adressraum liegen.

Olli 14. Aug 2005 23:57

Re: nonVCL - mit Thread ohne Unit Classes
 
Zitat:

Zitat von Luckie
Welche Windowsfunktion würdest du jetzt am ehesten für GetMemory verwenden?

Ich persönlich bevorzuge GlobalAlloc().

Zitat:

Zitat von Luckie
GlobalAlloc und HeapAlloc machen ja anscheinend das gleiche.

Jain. Bei letzterem kannst du den zu benutzenden Heap angeben. Ersteres benutzt den Standard-Prozeßheap.

Zitat:

Zitat von Luckie
Aber wo ist jetzt der Unterschied zu VirtualAlloc?

Mensch guck doch mal in die Doku. Du kannst eine Adresse vorgeben! (Zumindest versuchen kannst du's) Und VirtualAllocEx() macht das ganze sogar in einem Fremdprozeß, wenn nötig.

Edit: VirtualAllocEx war's, nicht VirtualAllocEx ;)

Luckie 14. Aug 2005 23:59

Re: nonVCL - mit Thread ohne Unit Classes
 
Äh ja. Elfmeter angekommen. :duck: Ich hatte nur auf die Links von dir geklickt und in der kurzen Beschreibung des MSDN sah alles gleich aus. :oops:

turboPASCAL 15. Aug 2005 04:23

Re: nonVCL - mit Thread ohne Unit Classes
 
:cheers: Juhu, mein Programm ist fertig. Das musste jetzt sein.

Es ist immer wieder interessant euch beiden "zuzuhören", für mich ist dieses Thema (erst einmal) erledigt.

THX euch beiden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz