![]() |
Listeinträge aus anwendung übergeben
Hi
ertmal ein frohes neues ;) Nun zur frage Wie kann ich Listeinträge an meiner DLL übergeben so das sie vom anderen programm addiert werden können ? habe da was in c++ gefunden wo man genauer sehen kann wie die Daten ins Menü eingebunden werden
Code:
Es geht dabei nicht um eine übersetzung sondern wie ich es in meiner DLL interpretieren muss
}
for (i=0; i<cnt; ++i) { fileinfo2 fi; fi.fileindex = i; char buf[60]; fi.filetitle[0] = 0; ::SendMessage(h, WM_WA_IPC, IPC_PE_GETINDEXTITLE, (LPARAM) &fi); if (!fi.filetitle[0]) { char *p = (char *) ::SendMessage(theApp.m_mod.hMainWindow,WM_WA_IPC,i,IPC_GETPLAYLISTTITLE); if (p) strncpy(fi.filetitle, p, 50); } strcpy(fi.filetitle+40, "..."); sprintf(buf, "%d. %s", fi.fileindex+1, fi.filetitle); mPL->AppendMenu(MF_STRING | ((i && (i%br==0)) ? MF_MENUBARBREAK : 0) | ((i==j) ? MF_CHECKED : 0), ID_PLAYLIST_ITEM + i, buf); } ::SendMessage(h, WM_WA_IPC, IPC_PE_SETCLEAN, 0); bMenuReloaded = false; damit die Rückgabe erfolgreich ist. Hoffe das ich mich verständlich genug ausgedrückt habe ;) Im moment habe ich es so gelößt allerdings wird so nur ein Titel übergeben weiss nicht ob es sinn macht da ein array zu übergeben
Delphi-Quellcode:
bzw.. ob es als array von der anderen anwendung angenommen wird.
if StreamInfo.Title <> nil then
begin ReturnStr := StreamInfo.Title + chr(0); end else ReturnStr := 'BassVis - BrewIdeas©EmilWeiss' + chr(0); p := @ReturnStr; Inc(p, 1); Result := longint(p); gruss Emil |
Re: Listeinträge aus anwendung übergeben
das problem ist, das man nicht einfach so pointer die auf zeichenketten zeigen, uebergeben kann. von programm zu dll geht das wunderbar, aber von programm zu programm funktioniert das nicht ohne weiteres (protected mode).
entweder du machst den speicherbereich der zeichenkette global verfuegbar, oder du arbeitest mit atoms: ![]() ![]() ![]() das laesst sich auch verkuerzen:
Delphi-Quellcode:
indem man gleich die addresse des ersten zeichens benutzt:
p := @ReturnStr;
Inc(p, 1);
Delphi-Quellcode:
p := @ReturnStr[1];
|
Re: Listeinträge aus anwendung übergeben
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Von der EXE zur Dll die Playlisteinträge schicken danach ließt das Winamp Plugin (DLL) die Daten aus der (meiner) DLL ein. Irgendwie scheint das alles nicht so recht zu funktionieren ... gruss Emil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:20 Uhr. |
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