Hirdetés
- Samsung Galaxy S25 - végre van kicsi!
- iPhone topik
- Samsung Galaxy A56 - megbízható középszerűség
- Xiaomi 15T Pro - a téma nincs lezárva
- One mobilszolgáltatások
- Pebble - az átgondolt okosóra
- Google Pixel 9 Pro XL - hét szűk esztendő
- Xiaomi 17 Ultra - jó az optikája
- Vivo X300 Ultra - tárcsázz, ha van rá keret!
- Nem lesz olcsó a Realme GT 8 Pro Európában
Ú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
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy S25 - végre van kicsi!
- Meggyi001: Áram nélkül....méltóság nélkül.....
- Villanyszerelés
- iPhone topik
- Építő/felújító topik
- Nintendo Switch 2
- exHWSW - Értünk mindenhez IS
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Fujifilm X
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- Kingston A2000 250GB NVMe SSD
- GIGABYTE RX 6800 XT 16GB GDDR6 GAMING OC - Eladó!
- BESZÁMÍTÁS! ASRock A520M R5 5500 16GB DDR4 500GB SSD RX 5700XT 8GB Rampage SHIVA Seasonic 650W
- BESZÁMÍTÁS! MSI B450M R5 5600 16GB DDR4 512GB SSD RX 6650 XT 8GB Rampage SHIVA FSP 650W
- BESZÁMÍTÁS! ASUS B450M R7 5700 32GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Cooler Master 650W
- Dell Latitude 7410 Core i5-10310u, 16GB RAM, SSD, jó akku, számla, 6 hó gar
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Akár részletfizetés 0% THM ÚJ AMD RYZEN AM4 processzorok 3 év garanciával 27% áfaval
- 193 - Lenovo Legion 5 (15IRX10) - Intel Core i7-14700HX, RTX 5070 (ELKELT)
- ASTRO A50 WIRELESS HEADSET + BASE STATION 4th gen. fejhallgató
Á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.



