Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   CreateWindowEx D2009 (https://www.delphipraxis.net/158488-createwindowex-d2009.html)

EWeiss 19. Feb 2011 14:01

CreateWindowEx D2009
 
Kann mir jemand erklären warum meine Anwendung NUR in D2009 hier abstürzt?
wenn ein Titel aus dieser Playliste mit Doppelklick aufgerufen wird?

Delphi-Quellcode:
   
 hPlayListPath := CreateWindowEx(0, 'LISTBOX', '', WS_CHILD, 0, 0, 0, 0, hMain,
  ID_PLAYLISTBOX, skInstance, nil);
In dieser Liste werden die Pfade zu den MP3 Dateien angelegt.

Delphi-Quellcode:
TPlayList := TSkinListBox.Create(hMain, PChar(SK_FOLDER + 'Sound.png'),
  23, 60, 559, 415, ID_PLAYLIST, False, 18, SK_INACTIVECAPTION);
  TPlayList.SetFont(SK_CAPTIONFONTHEIGHT, PAnsiChar(PChar(SK_TEXTFONT)),
  SK_ACTIVECAPTION, SK_INACTIVECAPTION, TRUE, 2, 0);
Das ist meine Sichtbare Liste in der nur die Namen ohne Pfad addiert werden.

Delphi-Quellcode:
LBN_DBLCLK:
begin
  // Hole das Selektierte Item aus der PlayListe über LParam
  nItem := ListGetCurSel(lP);
  // Fülle hList mit dem Handle der PlayListPath
  hList := GetMainItem(ID_PLAYLISTBOX);
  // Selektiere den Eintrag in der PlayListPath vom Selektierten Item aus der PlayListe
  ListSelectPlus(hList, nItem);
  // Lese den Text vom ausgewählten Index aus der PlayListPath ein  
  getAudioFile := ListGetText(hList, nItem);
  // Abspielen des ausgewählten Titel
  BassChannelPlay;
end;
Alles läuft wunderbar bis ich halt den Doppelklick in der PlayListe ausführe.
Lasse ich die obere PlayListPath weg und übergeben die ID_PLAYLISTBOX an die PlayListe anstelle von ID_PLAYLIST
dann läuft alles besten auch mit dem Doppelklick.
Allerdings habe ich dann die Dateien mit Pfad in meiner Liste addiert.

Jetzt sag mir mal jemand warum die Anwendung mit der ersten ListBox abstürzt?
Die dient doch nur als Platzhalter für meine Einträge mit Pfad.

Was kann denn D2009 hier nicht ab?
In D2006 läuft das alles ohne Probleme.

gruss

WM_CLOSE 19. Feb 2011 14:38

AW: CreateWindowEx D2009
 
Was genau passiert denn jetzt?
Was sagt GetLastError?

EWeiss 19. Feb 2011 14:39

AW: CreateWindowEx D2009
 
Zitat:

Zitat von WM_CLOSE (Beitrag 1082864)
Was genau passiert denn jetzt?
Was sagt GetLastError?

Sagt nichts da es ein EAV ist.
Da ist nix mit Meldungen.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 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