Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   CreateThread Win7 (https://www.delphipraxis.net/161808-createthread-win7.html)

EWeiss 21. Jul 2011 22:34

AW: CreateThread Win7
 
Zitat:

Zitat von Luckie (Beitrag 1112944)
Delphi-Quellcode:
type
  PThreadRec = ^TThreadRec;
  TThreadRec = record
    {
      WARNING: Don't change these fields without also changing them in
      the C++ RTL : winrtl/source/vcl/crtlvcl.cpp
    }
    Func: TThreadFunc;
    Parameter: Pointer;
  end;
Strg drücken und auf den Datentpy klicken. Funktioniert auch bei BeginThread.

Ja habe ich wird aber nicht gefunden..
Obwohl es in der System.pas so deklariert ist.

Verwende jetzt mal dein Schnipsel hier zum testen.
Da ist was wrong Undeklariert "ThreadWrapper"

Siehe Pic

gruss

Luckie 21. Jul 2011 22:47

AW: CreateThread Win7
 
Ich habe Delphi 2006 Entenscheiß. Da ist alles in Ordnung. Kann es sein, dass es fälschlicherweise als fehlerhaft markiert wurde? Aber für BeginThread musst du nichts einbinden, wenn es in der System.pas deklariert ist.

EWeiss 21. Jul 2011 22:56

AW: CreateThread Win7
 
Zitat:

Zitat von Luckie (Beitrag 1112947)
Ich habe Delphi 2006 Entenscheiß. Da ist alles in Ordnung. Kann es sein, dass es fälschlicherweise als fehlerhaft markiert wurde? Aber für BeginThread musst du nichts einbinden, wenn es in der System.pas deklariert ist.

Arghhh ..
Ja klar war jetzt etwas verdutzt da du die Funktion hier gepostet hast.
Da sie ja in der System.pas enthalten ist war das natürlich zum scheitern verurteilt diese nochmal extra einzubinden.

Aber wie gesagt mit BeginThread kann ich keine Visualisierung starten das funktioniert einfach nicht.
Was ist der Unterschied?

Delphi-Quellcode:
ThreadHandle := CreateThread(nil, 0, @BassVisNewThread, pointer(ModuleNum),
                             0, DriveThreadId);
Delphi-Quellcode:
ThreadHandle := BeginThread(nil, 0, @BassVisNewThread, pointer(ModuleNum),
                             0, DriveThreadId);
???

gruss

Luckie 21. Jul 2011 23:01

AW: CreateThread Win7
 
Wenn du BeginThread nutzt, darf die Thread-Funktion nicht als stdcll deklariert sein, glaube ich.

EWeiss 21. Jul 2011 23:08

AW: CreateThread Win7
 
Zitat:

Zitat von Luckie (Beitrag 1112949)
Wenn du BeginThread nutzt, darf die Thread-Funktion nicht als stdcll deklariert sein, glaube ich.

Ahh jo das muss man natürlich wissen.
Ok hab es jetzt geändert und denke ist besser als CreateThread aber mein Problem ist damit nicht geklärt.
Sobald ich den kompatibilitätsmodus ausschalte kann ich nicht mehr debuggen.

Sobald ich auf den Button Add(Dateien addieren) klicke (unabhängig von der DLL)
oder eine Visualisierung starten will DLL abhängig verabschiedet sich der Debugger.. bzw die Anwendung beendet und geht zurück in die IDE

PS:
Bei BeginThread ... ExitThread(0) oder EndThread verwenden?

gruss

Luckie 21. Jul 2011 23:13

AW: CreateThread Win7
 
Was passiert, wenn du die Anwneduing ohne den Debugger aus dem Explorer startest? Man darf nicht vergessen, dass die Visualisierung eine zusätzliche Komplexibilitätsschicht verursacht. keine Ahnung, was da abläuft. kannst das ganze auch ohne die Visualisierung testen in einer VM oder so? ansonsten, weiß ich da jetzt auch nicht weiter. Tut mir leid.

EWeiss 21. Jul 2011 23:16

AW: CreateThread Win7
 
Zitat:

Zitat von Luckie (Beitrag 1112951)
Was passiert, wenn du die Anwneduing ohne den Debugger aus dem Explorer startest? Man darf nicht vergessen, dass die Visualisierung eine zusätzliche Komplexibilitätsschicht verursacht. keine Ahnung, was da abläuft. kannst das ganze auch ohne die Visualisierung testen in einer VM oder so? ansonsten, weiß ich da jetzt auch nicht weiter. Tut mir leid.

Normal gestartet als Anwendung gibt es keine Probleme
Kann halt ohne den XP Modus nicht debuggen.
Egal welche Funktion ich ausführe das teil geht zurück in die IDE

grrr.. :)

Danke!

gruss

Luckie 21. Jul 2011 23:23

AW: CreateThread Win7
 
Schieße. Dann würde mir nur noch einfallen per ShowMessage zu debuggen, wenn es denn erforderlich ist. Natürlich eingefasst von Compilerdirektiven, damit du sie nicht alle wieder rauslöschen musst.

EWeiss 21. Jul 2011 23:27

AW: CreateThread Win7
 
Zitat:

Zitat von Luckie (Beitrag 1112955)
Schieße. Dann würde mir nur noch einfallen per ShowMessage zu debuggen, wenn es denn erforderlich ist. Natürlich eingefasst von Compilerdirektiven, damit du sie nicht alle wieder rauslöschen musst.

Ich glaube bald das liegt an D2009 selbst das kann nicht mit Win7 zusammenarbeiten.
Was anderes fällt mir da jetzt auch nicht ein.

Danke für deine Hilfe.. muss dann halt mit dem Kompatibilitätsmodus XP weiter arbeiten.

gruss


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

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