AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein problem beim erstellen eines API Windows
Thema durchsuchen
Ansicht
Themen-Optionen

problem beim erstellen eines API Windows

Ein Thema von EWeiss · begonnen am 14. Jun 2008 · letzter Beitrag vom 14. Jun 2008
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

problem beim erstellen eines API Windows

  Alt 14. Jun 2008, 00:16
kann mir jemand sagen warum ich trotz erfolgreichen registrieren der wndClass
kein Window erzeugen kann?

Bekomme immer ein 0 Handle

gruss Emil
  Mit Zitat antworten Zitat
1234588

Registriert seit: 14. Jan 2007
Ort: Stuttgart
164 Beiträge
 
#2

Re: problem beim erstellen eines API Windows

  Alt 14. Jun 2008, 00:19
vll. hast du bei CreateWindowEX() was falsches uebergeben?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: problem beim erstellen eines API Windows

  Alt 14. Jun 2008, 00:25
Zitat von 1234588:
vll. hast du bei CreateWindowEX() was falsches uebergeben?
Delphi-Quellcode:
function BassBoxWndThread(glCtrW: PWord): integer;
var
  Msg : TMsg;
  wClass : TWndClass;
  MsgReturn: longbool;

const
  BBClassName = 'BassBoxVis';
  BBTitle = 'BassBox';

begin

  h_Instance := GetModuleHandle(nil);
  with wClass do
  begin
    style := CS_VREDRAW or CS_HREDRAW or CS_DBLCLKS;
    cbClsExtra := 0;
    cbWndExtra := 0;
    hInstance := h_Instance;
    hIcon := 0;
    hCursor := LoadCursor(0, IDC_ARROW);
    hbrBackground := 0;
    lpszMenuName := nil;
    lpszClassName := BBClassName;
    lpfnWndProc := @VisualProc;
  end;

  if windows.RegisterClass(wClass) <> 0 then
    ClassRegistered := True;

   glCtrW^ := CreateWindowEx(WS_EX_STATICEDGE,
                            BBClassName,
                            BBTitle,
                            WS_CHILD or WS_VISIBLE,
                            0,
                            0,
                            100,
                            100,
                            BB_VisDataThread.ParentHandle,
                            0,
                            h_Instance,
                            nil);


  if (glCtrW^ <> 0) then
sehe da nichts falsches auf anhieb

gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: problem beim erstellen eines API Windows

  Alt 14. Jun 2008, 01:55
Und wie sieht die wClass aus ?
//Edit: Brille ned auf der Nase gehabt.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: problem beim erstellen eines API Windows

  Alt 14. Jun 2008, 03:45
Eine Unstimmigkeit, die nicht zwangsläufig der Fehler sein muss:

CreateWindowEx gibt ein HWND zurück, und
Zitat von Windows.pas:
Delphi-Quellcode:
type
  HWND = type LongWord;

Daher dürfte ein Word nicht ausreichen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

Re: problem beim erstellen eines API Windows

  Alt 14. Jun 2008, 11:52
Zitat von Medium:
Eine Unstimmigkeit, die nicht zwangsläufig der Fehler sein muss:

CreateWindowEx gibt ein HWND zurück, und
Zitat von Windows.pas:
Delphi-Quellcode:
type
  HWND = type LongWord;

Daher dürfte ein Word nicht ausreichen.
Danke das scheint es zu sein ...
Wenn ich allerdings einen Breakpoint auf glCtrW^ := CreateWindowEx setze
gehts nimmer

Muss mal schaun was das ist.

gruss Emil
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: problem beim erstellen eines API Windows

  Alt 14. Jun 2008, 13:25
Mach doch einfach mal ein DWORD bzw. PDWORD draus...dann sollte es immer gehen. Speicheradressen (und ein Handle ist nix anderes) haben immer positive 32-Bit-Werte (oder natürlich 64-Bit )
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

Re: problem beim erstellen eines API Windows

  Alt 14. Jun 2008, 14:03
Zitat von Ghostwalker:
Mach doch einfach mal ein DWORD bzw. PDWORD draus...dann sollte es immer gehen. Speicheradressen (und ein Handle ist nix anderes) haben immer positive 32-Bit-Werte (oder natürlich 64-Bit )
Jo Danke das erleichtert mir die Arbeit mit dem Pointer.

gruss Emil
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr.
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