Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Array , Löschen von selben verhindern. (https://www.delphipraxis.net/79764-array-loeschen-von-selben-verhindern.html)

EWeiss 27. Okt 2006 18:22


Array , Löschen von selben verhindern.
 
Wieder mein leidiges Array und pointer problem.

Delphi-Quellcode:
Type
  PWinampVisInfo = ^TWinampVisInfo;
  TWinampVisInfo = Packed record
    Title:         PChar;
    FileName:      PChar;
    PlaylistLength: integer;
    PlaylistPos:   integer;
    Pos, Len:      QWORD;
    VisHeader:     PWinampVisHeader;
    VisModule:     PWinampVisModule;
    Init, Init2, Rendering: boolean;
    DllInstance:   THandle;
    WinHandle:     THandle;
    PluginId:      DWORD;
    ParentHandle:  DWORD;
    Vis_Atom_Emu:  ATOM;
    Vis_Window_Emu: HWND;
    VisInfoCount:  Integer;
  end;

Var
  VisInfo: array [1..5] of PWinampVisInfo;
Beim erstellen des neuen Threads
Delphi-Quellcode:
    ThreadHandle := BeginThread(nil, 0, @WinampVisWin, VisInfo[VisWinCounter], 0, ThreadId);
Bleibt die Anwendung in der Function
Delphi-Quellcode:
function WinampVisWin(VisInfo : array of PWinampVisInfo): HWND;
beim ersten begin stehen und gibt ein AV aus.
Was ist in der Functionszeile verkehrt?

gruß

EWeiss 27. Okt 2006 18:45

Re: Array , Löschen von selben verhindern.
 
Hat sich erst mal erledigt!

Delphi-Quellcode:
function WinampVisWin: HWND;
gruß

EWeiss 27. Okt 2006 19:38

Re: Array , Löschen von selben verhindern.
 
PUSH.. :duck:

Array wird überschrieben bzw.. gelöscht.

Delphi-Quellcode:
  try
    GetMem(VisInfo[VisCounter], SizeOf(TWinampVisInfo));
    ZeroMemory(VisInfo[VisCounter], SizeOf(TWinampVisInfo));
  except
    BassFuncs^.SetError(BASS_ERROR_MEM);
    Exit;
  end;
Solange wie nur ein Plugin gestartet wird läuft alles rund
wenn zwei laufen bekomme ich beim beenden immer einen AV.

Habe es mit ReAllocMem versucht aber irgendwie wird das 1 Plugin mit dem zweiten überschrieben
Bedeutet habe nun zwei index einträge mit den gleichen Plugineigenschaften.

Hmmm ... Ka warum.

gruß

Sunlight7 27. Okt 2006 20:06

Re: Array , Löschen von selben verhindern.
 
Pushen ist erst nach 24 stunden erlaubt :warn: :zwinker:

Edit: Ich meine da einen Fehler mit den PChar Pointern zu sehen, aber da ich mir nicht sicher bin,
bzw. die Lösung nicht weiß, sag ich lieber nix, es könnte nicht stimmten...

EWeiss 27. Okt 2006 20:24

Re: Array , Löschen von selben verhindern.
 
Zitat:

Ich meine da einen Fehler mit den PChar Pointern zu sehen
Hmmm im grunde läuft alles so weit was die pointer angeht ;)
Denke das problem liegt daran das ich das array nicht redimensioniere (ReAllocMem)

Weis nicht wo oder wie ich da am besten ansetzen soll.
Meine Versuche gingen komplett daneben.

Alles funktioniert solange kein zweites plugin zur gleichen zeit aufgerufen wurde.

gruß

Sunlight7 27. Okt 2006 20:31

Re: Array , Löschen von selben verhindern.
 
Ich sagte ja, ich bin mir nicht sicher :wink:
Und es stimmt nicht :pale:

Ich hab das Problem nachgestellt, aber mir ist es nicht gelungen, das das ganze Array gelöscht wurde.

EWeiss 27. Okt 2006 20:40

Re: Array , Löschen von selben verhindern.
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von Sunlight7
Ich sagte ja, ich bin mir nicht sicher :wink:
Und es stimmt nicht :pale:

Ich hab das Problem nachgestellt, aber mir ist es nicht gelungen, das das ganze Array gelöscht wurde.

Nein es löscht nicht!
Es wird überschrieben ..

Quasi befindet sich dann das zweite Plugin in beiden Arrays..
Deshalb bekomme ich dann beim beenden den AV.

Schau die pics der reihe nach dann weißt du was ich meine.

gruß

Sunlight7 27. Okt 2006 20:51

Re: Array , Löschen von selben verhindern.
 
Äh ja, das meinte ich eigentlich mit "gelöscht".

Bist Du Dir sicher, das der VisCounter richtig gesteuert wird bzw. das es an der Programmstelle hakt?
Sonst fällt mir leider nix mehr dazu ein :gruebel:

EWeiss 27. Okt 2006 21:04

Re: Array , Löschen von selben verhindern.
 
Zitat:

Zitat von Sunlight7
Äh ja, das meinte ich eigentlich mit "gelöscht".

Bist Du Dir sicher, das der VisCounter richtig gesteuert wird bzw. das es an der Programmstelle hakt?
Sonst fällt mir leider nix mehr dazu ein :gruebel:

Jo werden richtig übergeben.
Na ok Danke.

Dann weiss ich auch nicht weiter :wall:

gruß

SirThornberry 27. Okt 2006 22:31

Re: Array , Löschen von selben verhindern.
 
Das erste was mir auffiel ist das du ein dynamsiches Array übergibst was aber delphispezifisch ist. Ich kann mir nicht vorstellen das Winamp ein Delphiarray erwartet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 Uhr.
Seite 1 von 3  1 23      

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