AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Listeinträge aus anwendung übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

Listeinträge aus anwendung übergeben

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

n/a Beiträge
 
#1

Listeinträge aus anwendung übergeben

  Alt 1. Jan 2008, 18:56
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:
}
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;
Es geht dabei nicht um eine übersetzung sondern wie ich es in meiner DLL interpretieren muss
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:
      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);
bzw.. ob es als array von der anderen anwendung angenommen wird.

gruss Emil
  Mit Zitat antworten Zitat
1234588

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

Re: Listeinträge aus anwendung übergeben

  Alt 1. Jan 2008, 19:38
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:

GlobalAddAtom()
GlobalGetAtomName()
GlobalDeleteAtom()



das laesst sich auch verkuerzen:
Delphi-Quellcode:
      p := @ReturnStr;
      Inc(p, 1);
indem man gleich die addresse des ersten zeichens benutzt:
      p := @ReturnStr[1];
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: Listeinträge aus anwendung übergeben

  Alt 1. Jan 2008, 19:44
Zitat von 1234588:
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:

GlobalAddAtom()
GlobalGetAtomName()
GlobalDeleteAtom()



das laesst sich auch verkuerzen:
Delphi-Quellcode:
      p := @ReturnStr;
      Inc(p, 1);
indem man gleich die addresse des ersten zeichens benutzt:
      p := @ReturnStr[1];
Die Reihenfolge ist ..

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
Miniaturansicht angehängter Grafiken
tv_453.jpg  
  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 17:47 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