Új hozzászólás Aktív témák
-
Sziasztok.
Van két C# winformom akik szeretném ha üzzennének egymásnak egyszerű stringekkel: AApp BApp
Mind a kettőnél ez a kód:
private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, ref COPYDATASTRUCT lParam);private const int WM_COPYDATA = 0x4A;[StructLayout(LayoutKind.Sequential)]
struct COPYDATASTRUCT
{
public int dwData;
public int cbData;
public int lpData;
}private void sendMessage(string message, string param){string sepaChar = ";";message = message + sepaChar + param;COPYDATASTRUCT cds;cds.dwData = 0;cds.lpData = (int)Marshal.StringToHGlobalAnsi(message);cds.cbData = message.Length;Process currentProcess = Process.GetCurrentProcess();Process[] processCollection = Process.GetProcesses();foreach (Process p in processCollection){if (p.ProcessName == "AApp/BApp"){SendMessage(p.MainWindowHandle, (int)WM_COPYDATA, 0, ref cds);AddDebugText("> OUT MSG: \t" + message);}}}protected override void WndProc(ref Message m){switch (m.Msg){case WM_COPYDATA:COPYDATASTRUCT CD = (COPYDATASTRUCT)m.GetLParam(typeof(COPYDATASTRUCT));byte[] B = new byte[CD.cbData];IntPtr lpData = new IntPtr(CD.lpData);Marshal.Copy(lpData, B, 0, CD.cbData);string strData = Encoding.Default.GetString(B);MessageProcessor(strData);break;}base.WndProc(ref m);}
Szóval úgy tűnik működik. Hogyha a B program indul előbb akkor szépen megvan a kérdés/válasz. Viszont fordított esetben már B programhoz nem érkezik meg a válasz.Mit rontok el?
-
Sziasztok
Két applikációm között kellene adatokat megosztanom.
Mi a legegyszerűbb/legtisztább implementáció mondjuk egy objektum átpasszolására?
WCF-et néztem szimpatikusnak tűnik a leírás alapján de csak egy 12éves példát találtam.
Csinált valaki ilyet? Hogy induljak el? Van egyszerűbb mód? -
válasz
Alexios
#9438
üzenetére
Kösz ezt kerestem

Ez a struct egy globális változó. Van ilyenből még 2-3 darabom és mindegyikkel kb ua. kell csinálom.
joysefke
Egy kicsit speciális az eset. Ezek a structok speciális "listák" egy adatbázisból olvasok bele. Majd bizonyos függvények listázzák és a structban van eltárolva hogy a GUI-n éppen hol tart a lista. Ezeket az index paramétereket módosítom.
Lehetne máshogy felépíteni?
Jelenleg ez a szerkezete:public struct myCustomList
{
public string listName;
public List<Items> items;
public int onePageElement;
public string actState;
public int ListIndex;
public int pages;
public int actpage;
public string title;
} -
Sziasztok
Objektum orientált kérdésem lenne.
Van egy saját struktúrám hívjuk customList -nek.
Form létrehozásánál rögtön példányosítok egyet:private customList myList = new customList ();Majd az egyik függvényemmel módosítani szeretném az értékét. Kb így néz ki:
private void changeState(myList list){érték módosítás}Na és itt jön a problémám hogy az átpasszolt listátból létrehoz a függvény magának egy példányt és nem változik az értéke az átadott listámnak. Próbáltam static-al példányosítani de ugyanaz.
Persze ha visszadom a függvény visszatérési értékének a listát és azt egyenlővé teszem a customListámmal akkor jó, de az nem túl elegáns.
Hogy tudnám rávenni hogy az én példányomat módosítsa a függvény?
C-ben átadnám a pointert... -
Van két programom. Szeretnék adatot átadni a két program között? Mi a legegyszerűbb módja?
-
-
Sziasztok
XML Beolvasást csinálok így:
if (File.Exists(filename) == true)
{
toolStripStatusLabel1.Text = "Setup Loading";
XDocument doc = XDocument.Load(filename);
var data = from item in doc.Descendants("NemoControlData")
select new
{
DPCO = item.Element("Data").Element("PCO").Value,
DCaption = item.Element("Data").Element("Caption").Value,
SConnect = item.Element("Data").Element("Connection").Value,
N1 = item.Element("Name").Element("Name_IN").Value,
...A programom elszáll ha nincs a struktúrában az elem. Lehet valahogy ez ellen védekezni?
-
válasz
sztanozs
#5163
üzenetére
Azt hiszem megvan! Köszönöm!!

private void DBCONNECT(string SQCMD)
{
if (SQCMD != null & SQCMD!="" & SQCMD!=" ")
{
NCD.DBQuery.Clear();
OdbcConnection Conn = new System.Data.Odbc.OdbcConnection(NCD.SConnect);
OdbcCommand catCMD = new OdbcCommand(SQCMD, Conn); //exec dbo.ccTV '05kM'
Conn.Open();
OdbcDataReader myReader = catCMD.ExecuteReader();
int fCount = myReader.FieldCount;
for (int i = 0; i < fCount; i++)
{
String fName = myReader.GetName(i);
}
int fRcount = 0;
while (myReader.Read())
{
NCD.DBQuery.Add(new List<String>()); //egy új allista hozzáadása
for (int i = 0; i < fCount; i++)
{
NCD.DBQuery[fRcount].Add(myReader[i].ToString());
}
fRcount++;
}
myReader.Close();
Conn.Close();
}
} -
válasz
Alexios
#5161
üzenetére
MEgoldottam Sting Arrayel. De csodálkozom hogy nem lehet C#-ban dinamikus tömbnek értéket adni...
Megoldás:int fCount = myReader.FieldCount;
for (int i = 0; i < fCount; i++)
{
String fName = myReader.GetName(i);
}
int fRcount = 0;
while (myReader.Read())
{
fRcount++;
}
myReader.Close();
string[,] Query = new string[fRcount, fCount];
myReader = catCMD.ExecuteReader();
int fRcount2 = 0;
while (myReader.Read())
{
for (int i = 0; i == fCount-1; i++)
{
Query[fRcount2, i] = myReader[i].ToString();
}
fRcount2++;
} -
válasz
Alexios
#5159
üzenetére
Ilyenkor hogy működik az értékadás?
while (myReader.Read())
{
fRcount++;
Query[fRcount][0] = myReader[0].ToString();
Query[fRcount][1] = myReader[1].ToString();
Query[fRcount][2] = myReader[2].ToString();
}Így próbáltam de azt mondta: Additional information: Az index az engedélyezett tartományon kívül esett. Az index nem lehet negatív, és kisebbnek kell lennie a gyűjtemény méreténél.
-
Sziasztok
SQL lekérdezés kimenetelét egy 2D-s string tömben szeretném tárolni.
Én így gondoltam:
int fRcount = 0;
string[,] Query;
while (myReader.Read())
{
fRcount++;
Query[fRcount,0] = myReader[0].ToString();
Query[fRcount,1] = myReader[1].ToString();
Query[fRcount,2] = myReader[2].ToString();
}Hibaüzenet:
Error 1 Use of unassigned local variable 'Query'Miért nem érvényes a ciklusban a változó? Hogy csináljam meg?
-
Sziasztok
1.)
Tudna mondani valaki egy egyszerű példát XML olvasásra.
Konkrétan olyan kellene, hogy egy változó kapja meg az xml property értékét.
Az írás már megy!
2.)
Globális változókat hogyan és hol kell deklarálni?Egyenlőre Ennyi!
Köszönöm
Üdv!
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- MWC 2026: Óriásakkut tuszkoltak egy szupervékony hajlíthatóba
- Android alkalmazások - szoftver kibeszélő topik
- Kertészet, mezőgazdaság topik
- Samsung Galaxy Felhasználók OFF topicja
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Call of Duty: Black Ops 7
- Jövedelem
- Oldman2: A KOReader ebook olvasó program
- AliExpress tapasztalatok
- További aktív témák...
- Gainward 4060Ti Ghost 8GB / 11 Hónap Alza.hu Garancia / Beszámítás OK!
- BONTATLAN Új Ipad 10th , 11th Minden szín 1év hivatalos Apple Garancia AZONNAL ÁTVEHETŐ DEÁK TÉRNÉL.
- BONTATLAN Új Iphone 17 256-512GB Minden Szín 1év APPLE garancia gyári független Deák AZONNAL Átvehet
- BONTATLAN Új iPhone 17 PRO 256-512GGB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- Eladó SteelSeries Apex 3 gamer billentyűzet, új!
- Apple iPhone 14 Pro 128GB,Újszerű,Dobozaval,12 hónap garanciával
- Xiaomi Mi 10T Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone SE 2020 128 GB Piros 1 év Garancia Beszámítás Házhozszállítás
- 227 - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5060
- GYÖNYÖRŰ iPhone 13 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS4393, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Azt hittem struct az sturct maradt
Köszönöm a felvilágosítást.


