Search Results

Search found 23804 results on 953 pages for 'void pointer'.

Page 76/953 | < Previous Page | 72 73 74 75 76 77 78 79 80 81 82 83  | Next Page >

  • Invalid conversion from int to int

    - by FOXMULDERIZE
    #include <iostream> #include<fstream> using namespace std; void showvalues(int,int,int []); void showvalues2(int,int); void sumtotal(int,int); int main() { const int SIZE_A= 9; int arreglo[SIZE_A]; ifstream archivo_de_entrada; archivo_de_entrada.open("numeros.txt"); int count,suma,total,a,b,c,d,e,f; int total1=0; int total2=0; //lee/// for(count =0 ;count < SIZE_A;count++) archivo_de_entrada>>arreglo[count] ; archivo_de_entrada.close(); showvalues(0,3,9); HERE IS THE PROBLEM showvalues2(5,8); sumtotal(total1,total2); system("pause"); return 0; } void showvalues(int a,int b,int v) { //muestra//////////////////////// cout<< "los num son "; for(count = a ;count <= b;count++) total1 = total1 + arreglo[count]; cout <<total1<<" "; cout <<endl; } void showvalues2(int c,int d) { ////////////////////////////// cout<< "los num 2 son "; for(count =5 ;count <=8;count++) total2 = total2 + arreglo[count]; cout <<total2<<" "; cout <<endl; } void sumtotal(int e,int f) { ///////////////////////////////// cout<<"la suma de t1 y t2 es "; total= total1 + total2; cout<<total; cout <<endl; }

    Read the article

  • Qt Jambi: Accessing the content of QNetworkReply

    - by Richard
    Hi All, I'm having trouble accessing the content of QNetworkReply objects. Content appears to be empty or zero. According to the docs (translating from c++ to java) I think I've got this set up correctly, but to no avail. Additionally an "Unknown error" is being reported. Any ideas much appreciated. Code: public class Test extends QObject { private QWebPage page; public Test() { page = new QWebPage(); QNetworkAccessManager nac = new QNetworkAccessManager(); nac.finished.connect(this, "requestFinished(QNetworkReply)"); page.setNetworkAccessManager(nac); page.loadProgress.connect(this, "loadProgress(int)"); page.loadFinished.connect(this, "loadFinished()"); } public void requestFinished(QNetworkReply reply) { reply.reset(); reply.open(OpenModeFlag.ReadOnly); reply.readyRead.connect(this, "ready()"); // never gets called System.out.println("bytes: " + reply.url().toString()); // writes out asset uri no problem System.out.println("bytes: " + reply.bytesToWrite()); // 0 System.out.println("At end: " + reply.atEnd()); // true System.out.println("Error: " + reply.errorString()); // "Unknown error" } public void loadProgress(int progress) { System.out.println("Loaded " + progress + "%"); } public void loadFinished() { System.out.println("Done"); } public void ready() { System.out.println("Ready"); } public void open(String url) { page.mainFrame().load(new QUrl(url)); } public static void main(String[] args) { QApplication.initialize(new String[] { }); Test t = new Test(); t.open("http://news.bbc.co.uk"); QApplication.exec(); } }

    Read the article

  • How do I get my code to read the spaces between longs?

    - by WahtsUpWorld
    I apologize for any inconvenience that may occur in answering my question, I'm fairly new to programming and I'm so far only in the last weeks of my community college Java I class. The problem I am facing is in my code of which I cannot seem to get the PrintWriter to address the spaces in between my longs' phone number and social security I.D. The entire code consists of two classes in which one pulls from the other the information needed to parse and present the file writer/print writer. Here is the entire code w/ the second class after it: public class FinalProjectGroup1 { public static void main(String[] args) { } public String name; public long ssid; public double pay; public String address; public long number; public void cleanUpConstructor() {} public FinalProjectGroup1(String name, String address, double pay, long ssid, long number){ this.name = name; this.pay = pay; this.ssid = ssid; this.address = address; this.number = number; cleanUpConstructor(); } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setPay(double pay) { this.pay = pay; } public double getPay() { return pay; } public void setSSID(long ssid) { this.ssid = ssid; } public long getSSID() { return ssid; } public void setAddress(String address) { this.address = address; } public String getAddress() { return address; } public void setNumber(long number) { this.number = number; } public long getNumber() { return number; } } SECOND CLASS import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JLabel; import java.awt.Font; import javax.swing.JFileChooser; import javax.swing.JButton; import javax.swing.JTextField; import FinalProjectGroup1; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.io.FileWriter; import java.io.PrintWriter; public class FinalProjectGroup1Window { public JFrame frmTheBosssSecretary; public JTextField txtName; public JTextField txtSSID; public JTextField txtAddress; public JTextField txtNumber; public JTextField txtPay; public JTextField txtFindName; public JTextField txtFindSSID; public JTextField txtFindPay; public JTextField txtFolder; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { FinalProjectGroup1Window window = new FinalProjectGroup1Window(); window.frmTheBosssSecretary.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } public FinalProjectGroup1Window() { initialize(); } private void initialize() { frmTheBosssSecretary = new JFrame(); frmTheBosssSecretary.setFont(new Font("Times New Roman", Font.PLAIN, 12)); frmTheBosssSecretary.setTitle("The Boss's Secretary: Employee Generator/Finder"); frmTheBosssSecretary.setBounds(100, 100, 547, 302); frmTheBosssSecretary.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frmTheBosssSecretary.getContentPane().setLayout(null); JLabel lblFile = new JLabel("Employee Folder:"); lblFile.setFont(new Font("Times New Roman", Font.PLAIN, 12)); lblFile.setBounds(10, 10, 93, 14); frmTheBosssSecretary.getContentPane().add(lblFile); JLabel lblFindEmployee = new JLabel("Employee Finder"); lblFindEmployee.setFont(new Font("Times New Roman", Font.BOLD, 18)); lblFindEmployee.setBounds(194, 159, 142, 20); frmTheBosssSecretary.getContentPane().add(lblFindEmployee); JLabel lblEmployeeName = new JLabel("Employee Name:"); lblEmployeeName.setFont(new Font("Times New Roman", Font.PLAIN, 12)); lblEmployeeName.setBounds(10, 35, 93, 14); frmTheBosssSecretary.getContentPane().add(lblEmployeeName); JLabel lblSSID = new JLabel("Employee SSID:"); lblSSID.setFont(new Font("Times New Roman", Font.PLAIN, 12)); lblSSID.setBounds(10, 135, 85, 14); frmTheBosssSecretary.getContentPane().add(lblSSID); JLabel lblAddress = new JLabel("Employee Address:"); lblAddress.setFont(new Font("Times New Roman", Font.PLAIN, 12)); lblAddress.setBounds(10, 60, 105, 14); frmTheBosssSecretary.getContentPane().add(lblAddress); JLabel lblPhoneNumber = new JLabel("Employee Phone Number:"); lblPhoneNumber.setFont(new Font("Times New Roman", Font.PLAIN, 12)); lblPhoneNumber.setBounds(10, 85, 134, 14); frmTheBosssSecretary.getContentPane().add(lblPhoneNumber); JLabel lblPayRate = new JLabel("Employee Pay Rate:"); lblPayRate.setFont(new Font("Times New Roman", Font.PLAIN, 12)); lblPayRate.setBounds(10, 110, 105, 14); frmTheBosssSecretary.getContentPane().add(lblPayRate); JLabel lblFindEmployeeName = new JLabel("Find Employee Name:"); lblFindEmployeeName.setFont(new Font("Times New Roman", Font.PLAIN, 12)); lblFindEmployeeName.setBounds(10, 183, 115, 14); frmTheBosssSecretary.getContentPane().add(lblFindEmployeeName); JLabel lblFindSSID = new JLabel("Find Employee SSID:"); lblFindSSID.setFont(new Font("Times New Roman", Font.PLAIN, 12)); lblFindSSID.setBounds(10, 208, 105, 14); frmTheBosssSecretary.getContentPane().add(lblFindSSID); JLabel lblFindPay = new JLabel("Find Employee Address:"); lblFindPay.setFont(new Font("Times New Roman", Font.PLAIN, 12)); lblFindPay.setBounds(10, 233, 124, 14); frmTheBosssSecretary.getContentPane().add(lblFindPay); txtFolder = new JTextField(); txtFolder.setFont(new Font("Times New Roman", Font.PLAIN, 12)); txtFolder.setBounds(105, 7, 314, 20); frmTheBosssSecretary.getContentPane().add(txtFolder); txtFolder.setColumns(10); txtName = new JTextField(); txtName.setFont(new Font("Times New Roman", Font.PLAIN, 12)); txtName.setBounds(99, 32, 247, 20); frmTheBosssSecretary.getContentPane().add(txtName); txtName.setColumns(10); txtAddress = new JTextField(); txtAddress.setFont(new Font("Times New Roman", Font.PLAIN, 12)); txtAddress.setBounds(109, 57, 237, 20); frmTheBosssSecretary.getContentPane().add(txtAddress); txtAddress.setColumns(10); txtNumber = new JTextField(); txtNumber.setFont(new Font("Times New Roman", Font.PLAIN, 12)); txtNumber.setBounds(141, 82, 160, 20); frmTheBosssSecretary.getContentPane().add(txtNumber); txtNumber.setColumns(10); txtPay = new JTextField(); txtPay.setFont(new Font("Times New Roman", Font.PLAIN, 12)); txtPay.setBounds(116, 107, 105, 20); frmTheBosssSecretary.getContentPane().add(txtPay); txtPay.setColumns(10); txtSSID = new JTextField(); txtSSID.setFont(new Font("Times New Roman", Font.PLAIN, 12)); txtSSID.setBounds(97, 132, 124, 20); frmTheBosssSecretary.getContentPane().add(txtSSID); txtSSID.setColumns(10); txtFindName = new JTextField(); txtFindName.setFont(new Font("Times New Roman", Font.PLAIN, 12)); txtFindName.setBounds(122, 180, 314, 20); frmTheBosssSecretary.getContentPane().add(txtFindName); txtFindName.setColumns(10); txtFindSSID = new JTextField(); txtFindSSID.setFont(new Font("Times New Roman", Font.PLAIN, 12)); txtFindSSID.setBounds(122, 205, 122, 20); frmTheBosssSecretary.getContentPane().add(txtFindSSID); txtFindSSID.setColumns(10); txtFindPay = new JTextField(); txtFindPay.setFont(new Font("Times New Roman", Font.PLAIN, 12)); txtFindPay.setBounds(141, 230, 237, 20); frmTheBosssSecretary.getContentPane().add(txtFindPay); txtFindPay.setColumns(10); JButton btnAddEmployee = new JButton("Add Employee"); btnAddEmployee.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { try { String name = txtName.getText(); String address = txtAddress.getText(); double pay = Double.parseDouble(txtPay.getText()); long ssid = Long.parseLong(txtSSID.getText()); long number = Long.parseLong(txtNumber.getText()); FinalProjectGroup1 ee = new FinalProjectGroup1(name, address, pay, ssid, number); FileWriter writer = new FileWriter(txtFolder.getText(), true); PrintWriter pw = new PrintWriter(writer); pw.println(ee.getName() + ", " + ee.getAddress() + ", " + ee.getNumber() + ", " + ee.getPay() + ", " + ee.getSSID()); pw.close(); } catch (Exception e) { return; } } }); JButton btnFolder = new JButton("Folder"); btnFolder.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { JFileChooser bsearch = new JFileChooser(); int result = bsearch.showOpenDialog(null); if (result != JFileChooser.APPROVE_OPTION) return; txtFolder.setText(bsearch.getSelectedFile().getAbsolutePath()); } }); btnFolder.setFont(new Font("Times New Roman", Font.PLAIN, 12)); btnFolder.setBounds(429, 6, 75, 23); frmTheBosssSecretary.getContentPane().add(btnFolder); btnAddEmployee.setFont(new Font("Times New Roman", Font.PLAIN, 12)); btnAddEmployee.setBounds(356, 42, 159, 107); frmTheBosssSecretary.getContentPane().add(btnAddEmployee); JButton btnFindName = new JButton("Find"); btnFindName.setFont(new Font("Times New Roman", Font.PLAIN, 12)); btnFindName.setBounds(446, 179, 69, 23); frmTheBosssSecretary.getContentPane().add(btnFindName); JButton btnFindSSID = new JButton("Find"); btnFindSSID.setFont(new Font("Times New Roman", Font.PLAIN, 12)); btnFindSSID.setBounds(250, 204, 85, 23); frmTheBosssSecretary.getContentPane().add(btnFindSSID); JButton btnFindAddress = new JButton("Find"); btnFindAddress.setFont(new Font("Times New Roman", Font.PLAIN, 12)); btnFindAddress.setBounds(389, 229, 85, 23); frmTheBosssSecretary.getContentPane().add(btnFindAddress); } } The problem here lies in the JButton Add Employee. Where, as previously mentioned, the long's phone number and social security I.D. don't show the spaces in the text file.

    Read the article

  • target-action uicontrolevents

    - by Fabrizio Farinelli
    I must be missing something obvious here but ... UIControl has a method - (void)addTarget:(id)target action:(SEL)action forControlEvents: (UIControlEvents)controlEvents which lets you add an action to be called when any of the given controlEvents occur. ControlEvents are a bitmask of events which tell you if a touch went down, or up inside, or was dragged etc., there's about 16 of them, you or them together and get called when any of them occur. The selector can have one of the following signatures - (void)action - (void)action:(id)sender - (void)action:(id)sender forEvent:(UIEvent *) none of those tell you what the control event bitmask was. The UIEvent is something slightly different, it's related to the actual touch event and doesn't (I think) contain the UIControlEvent. The sender (UIControl) doesn't have a way to find the control events either. I'd like to have one method which deals with a number of control events as I have some common code regardless of which event or events happened but I still need to know what the UIControlEvents were for some specific processing. Am I missing a way to find out what UIControlEvents were used when the action was called or do I really have to separate my code into -(void)actionWithUIControlEventX; -(void)actionWithUIControlEventY;

    Read the article

  • fedora13 mouse change -I Beam

    - by tom smith
    hi. sorry to have to ask such a basic question!! i've got fedora 13, trying to figure out how to change the "I Beam" pointer. earlier, i had a "thin" "I Beam" pointer in my gedit/term windows. now, I have a "thicker/shadow" kind of "I Beam" pointer when i move the mouse over the gedit/term windows. obviously, i've made some change, but i can't figure out what I changed, or where this attribute is set. i've checked google/irc, as well as looked through the "system-preferences-appearance" with no luck.. i saw the customize part of the gui, and could resize the "arrow" but nothing for the "I-Beam". this isn't critical, but it is anoying!! any thoughts/pointers would be helpful. thanks

    Read the article

  • fedora13 mouse change -I Beam

    - by tom smith
    hi. sorry to have to ask such a basic question!! i've got fedora 13, trying to figure out how to change the "I Beam" pointer. earlier, i had a "thin" "I Beam" pointer in my gedit/term windows. now, I have a "thicker/shadow" kind of "I Beam" pointer when i move the mouse over the gedit/term windows. obviously, i've made some change, but i can't figure out what I changed, or where this attribute is set. i've checked google/irc, as well as looked through the "system-preferences-appearance" with no luck.. i saw the customize part of the gui, and could resize the "arrow" but nothing for the "I-Beam". this isn't critical, but it is anoying!! any thoughts/pointers would be helpful. thanks

    Read the article

  • Using Qt signals/slots instead of a worker thread

    - by Rob
    I am using Qt and wish to write a class that will perform some network-type operations, similar to FTP/HTTP. The class needs to connect to lots of machines, one after the other but I need the applications UI to stay (relatively) responsive during this process, so the user can cancel the operation, exit the application, etc. My first thought was to use a separate thread for network stuff but the built-in Qt FTP/HTTP (and other) classes apparently avoid using threads and instead rely on signals and slots. So, I'd like to do something similar and was hoping I could do something like this: class Foo : public QObject { Q_OBJECT public: void start(); signals: void next(); private slots: void nextJob(); }; void Foo::start() { ... connect(this, SIGNAL(next()), this, SLOT(nextJob())); emit next(); } void Foo::nextJob() { // Process next 'chunk' if (workLeftToDo) { emit next(); } } void Bar::StartOperation() { Foo* foo = new Foo; foo->start(); } However, this doesn't work and UI freezes until all operations have completed. I was hoping that emitting signals wouldn't actually call the slots immediately but would somehow be queued up by Qt, allowing the main UI to still operate. So what do I need to do in order to make this work? How does Qt achieve this with the multitude of built-in classes that appear to perform lengthy tasks on a single thread?

    Read the article

  • java.lang.NoSuchMethodError: main Exception in thread "main" .

    - by russell
    I Cant understand why this messege come--------- java.lang.NoSuchMethodError: main Exception in thread "main" . I know it expecting main() method but as i m building an applet which does not contain main method rather contain init() method.So what will i do??My code is s follow --- import java.applet.*; import java.awt.*; public class Ballbewegung1 extends Applet implements Runnable { // Initialisierung der Variablen int x_pos = 10; // x - Position des Balles int y_pos = 100; // y - Position des Balles int radius = 20; // Radius des Balles public void init() { setBackground (Color.blue); } public void start () { // Schaffen eines neuen Threads, in dem das Spiel l?uft Thread th = new Thread (this); // Starten des Threads th.start (); } public void stop() { } public void destroy() { } public void run () { // Erniedrigen der ThreadPriority um zeichnen zu erleichtern Thread.currentThread().setPriority(Thread.MIN_PRIORITY); // Solange true ist l?uft der Thread weiter while (true) { // Ver?ndern der x- Koordinate x_pos ++; // Neuzeichnen des Applets repaint(); try { // Stoppen des Threads f?r in Klammern angegebene Millisekunden Thread.sleep (20); } catch (InterruptedException ex) { // do nothing } // Zur?cksetzen der ThreadPriority auf Maximalwert Thread.currentThread().setPriority(Thread.MAX_PRIORITY); } } public void paint (Graphics g) { g.setColor (Color.red); g.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius); } } And I dont know how to use code tag.so plz someone ans.

    Read the article

  • External mouse clicks not working during UAC prompt/windows or other elevated privilege programs

    - by user26453
    I have a Logitech Revolution VX, a small portable mouse. I use it on my laptop running Windows 7 64bit Professional. When a UAC prompt comes up, I can use the mouse to move the pointer, however any clicking via the external mouse is disabled. I have to use my trackpad to actually click. This continues on into whatever UAC window comes next, such as a program install. The mouse pointer can move via my external mouse, but no button clicks register except on the trackpad. This also happens if I am to right click a program and select "Run as Administrator". The external mouse will move the pointer, but no button clicks work. I've tried to google for this issue but haven't found anything. To be it seems generally a problem with my external mouse driver not running with elevated privileges itself. Any help would be appreciated.

    Read the article

  • JME: How to get the complete screen in WHITE without buttons, etc etc

    - by Sepala
    Please have a look at the following code /* * To change this template, choose Tools | Templates * and open the template in the editor. */ import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /** */ public class Midlet extends MIDlet{ private Form f; private Display d; private Command start,stop; private Thread t; public Midlet() { t = new Thread(new TurnLightOn()); } public void startApp() { f = new Form("Back Light On"); d = Display.getDisplay(this); d.setCurrent(f); start = new Command("Turn On",Command.OK,0); stop = new Command("Turn Off",Command.OK,1); f.addCommand(start); f.setCommandListener(new Action()); } public void pauseApp() { } public void destroyApp(boolean unconditional) { this.notifyDestroyed(); } private class Action implements CommandListener { public void commandAction(Command c, Displayable dis) { f.append("Light is Turnning On"); t.start(); } } private class ActionOff implements CommandListener { public void commandAction(Command c, Displayable dis) { } } private class TurnLightOn implements Runnable { public void run() { f.append("Working"); for(int i=0;i<100;i++) { try { d.flashBacklight(200); d.vibrate(200); Thread.sleep(1000); } catch (InterruptedException ex) { ex.printStackTrace(); } } } } } First, Please note I am a 100% newbie to Java Mobile. In here, I am making the light on and vibrate on when user click the button. However, I really wanted to create a SOS application which turn the whole screen into white, and go to black, like that, in the thread. I guess I didn't achieve that by this app because even the lights are on, the buttons are still there. I tried to turn the "Form" color to "white" but it seems like JME has no "Color" class! Please help!

    Read the article

  • [C#] How to use delegate to perform callback between caller and web service helper class?

    - by codemonkie
    I have 2 classes A and B, where they belongs to the same namespace but resides in seperate files namely a.cs and b.cs, where class B essentially is a helper wrapping a web service call as follow: public class A { public A() // constructor { protected static B b = new B(); } private void processResult1(string result) { // come here when result is successful } private void processResult2(string result) { // come here when result is failed } static void main() { b.DoJobHelper(...); } } public class B { private com.nowhere.somewebservice ws; public B() { this.ws = new com.nowhere.somewebservice(); ws.JobCompleted += new JobCompletedEventHandler(OnCompleted); } void OnCompleted(object sender, JobCompletedEventArgs e) { string s; Guid taskID = (Guid)e.UserState; switch (s) { case "Success": // Call processResult1(); break; case "Failed": // Call processResult2(); break; default: break; } } public void DoJobHelper() { Object userState = Guid.NewGuid(); ws.DoJob(..., userState); } } (1) I have seen texts on the net on using delegates for callbacks but failed to apply that to my case. All I want to do is to call the appropriate processResult() method upon OnCompleted() event, but dunno how to and where to declare the delegate: public delegate void CallBack(string s); (2) There is a sender object passed in to OnCompleted() but never used, did I miss anything there? Or how can I make good use of sender? Any helps appreciated.

    Read the article

  • How to use reflection to call a method and pass parameters whose types are unknown at compile time?

    - by MandoMando
    I'd like to call methods of a class dynamically with parameter values that are "parsed" from a string input. For example: I'd like to call the following program with these commands: c:myprog.exe MethodA System.Int32 777 c:myprog.exe MethodA System.float 23.17 c:myprog.exe MethodB System.Int32& 777 c:myprog.exe MethodC System.Int32 777 System.String ThisCanBeDone static void Main(string[] args) { ClassA aa = new ClassA(); System.Type[] types = new Type[args.Length / 2]; object[] ParamArray = new object[types.Length]; for (int i=0; i < types.Length; i++) { types[i] = System.Type.GetType(args[i*2 + 1]); // LINE_X: this will obviously cause runtime error invalid type/casting ParamArray[i] = args[i*2 + 2]; MethodInfo callInfo = aa.GetType().GetMethod(args[0],types); callInfo.Invoke(aa, ParamArray); } // In a non-changeable classlib: public class ClassA { public void MethodA(int i) { Console.Write(i.ToString()); } public void MethodA(float f) { Console.Write(f.ToString()); } public void MethodB(ref int i) { Console.Write(i.ToString()); i++; } public void MethodC(int i, string s) { Console.Write(s + i.ToString()); } public void MethodA(object o) { Console.Write("Argg! Type Trapped!"); } } "LINE_X" in the above code is the sticky part. For one, I have no idea how to assign value to a int or a ref int parameter even after I create it using Activator.CreatInstance or something else. The typeConverter does come to mind, but then that requires an explicit compile type casting as well. Am I looking at CLR with JavaScript glasses or there is way to do this?

    Read the article

  • Java swing hold buttons

    - by Simon Charette
    Hi, I'm trying to create a subclass of JButton or AbstractButton that would call specified .actionPerformed as long as the mouse is held down on the button. So far I was thinking of extending JButton, adding a mouse listener on creation (inside constructor) and calling actionPerformed while the mouse is down. So far i came up with that but I was wondwering if I was on the right track and if so, how to correctly implement the "held down" logic. package components; import java.awt.event.ActionEvent; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JButton; public class HoldButton extends JButton { private class HeldDownMouseListener implements MouseListener { private boolean mouseIsHeldDown; private HoldButton button; private long millis; public HeldDownMouseListener(HoldButton button, long millis) { this.button = button; this.millis = millis; } @Override public void mouseClicked(MouseEvent arg0) { } @Override public void mouseEntered(MouseEvent arg0) { } @Override public void mouseExited(MouseEvent arg0) { } @Override public void mousePressed(MouseEvent arg0) { mouseIsHeldDown = true; // This should be run in a sub thread? // while (mouseIsHeldDown) { // button.fireActionPerformed(new ActionEvent(button, ActionEvent.ACTION_PERFORMED, "heldDown")); // try { // Thread.sleep(millis); // } catch (InterruptedException e) { // e.printStackTrace(); // continue; // } // } } @Override public void mouseReleased(MouseEvent arg0) { mouseIsHeldDown = false; } } public HoldButton() { addHeldDownMouseListener(); } public HoldButton(Icon icon) { super(icon); addHeldDownMouseListener(); } public HoldButton(String text) { super(text); addHeldDownMouseListener(); } public HoldButton(Action a) { super(a); addHeldDownMouseListener(); } private void addHeldDownMouseListener() { addMouseListener(new HeldDownMouseListener(this, 300)); } } Thanks a lot for your time.

    Read the article

  • User entered value validation and level of error catching

    - by Terry
    May I ask should the error catching code be placed at the lowest level or at the top as I am not sure what is the best practice? I prefer placing at the bottom, example a, as Example a public static void Main(string[] args) { string operation = args[0]; int value = Convert.ToInt32(args[1]); if (operation == "date") { DoDate(value); } else if (operation == "month") { DoMonth(value); } } public static void DoMonth(int month) { if (month < 1 || month > 12) { throw new Exception(""); } } public static void DoDate(int date) { if (date < 1 || date > 31) { throw new Exception(""); } } or example b public static void Main(string[] args) { string operation = args[0]; int value = Convert.ToInt32(args[1]); if (operation == "date" && (date < 1 || date > 12)) { throw new Exception(""); } else if (operation == "month" && (month < 1 || month > 31)) { throw new Exception(""); } if (operation == "date") { DoDate(value); } else if (operation == "month") { DoMonth(value); } } public static void DoMonth(int month) { } public static void DoDate(int date) { }

    Read the article

  • Win32 DLL importing issues (DllMain)

    - by brady
    I have a native DLL that is a plug-in to a different application (one that I have essentially zero control of). Everything works just great until I link with an additional .lib file (links my DLL to another DLL named ABQSMABasCoreUtils.dll). This file contains some additional API from the parent application that I would like to utilize. I haven't even written any code to use any of the functions exported but just linking in this new DLL is causing problems. Specifically I get the following error when I attempt to run the program: The application failed to initialize properly (0xc0000025). Clock on OK to terminate the application. I believe I have read somewhere that this is typically due to a DllMain function returning FALSE. Also, the following message is written to the standard output: ERROR: Memory allocation attempted before component initialization I am almost 100% sure this error message is coming from the application and is not some type of Windows error. Looking into this a little more (aka flailing around and flipping every switch I know of) I linked with /MAP turned on and found this in the resulting .map file: 0001:000af220 ??3@YAXPEAX@Z 00000001800b0220 f ABQSMABasCoreUtils_import:ABQSMABasCoreUtils.dll 0001:000af226 ??2@YAPEAX_K@Z 00000001800b0226 f ABQSMABasCoreUtils_import:ABQSMABasCoreUtils.dll 0001:000af22c ??_U@YAPEAX_K@Z 00000001800b022c f ABQSMABasCoreUtils_import:ABQSMABasCoreUtils.dll 0001:000af232 ??_V@YAXPEAX@Z 00000001800b0232 f ABQSMABasCoreUtils_import:ABQSMABasCoreUtils.dll If I undecorate those names using "undname" they give the following (same order): void __cdecl operator delete(void * __ptr64) void * __ptr64 __cdecl operator new(unsigned __int64) void * __ptr64 __cdecl operator new[](unsigned __int64) void __cdecl operator delete[](void * __ptr64) I am not sure I understand how anything from ABQSMABasCoreUtils.dll can exist within this .map file or why my DLL is even attempting to load ABQSMABasCoreUtils.dll if I don't have any code that references this DLL. Can anyone help me put this information together and find out why this isn't working? For what it's worth I have confirmed via "dumpbin" that the parent application imports the same DLL (ABQSMABasCoreUtils.dll), so it is being loaded no matter what. I have also tried delay loading this DLL in my DLL but that did not change the results.

    Read the article

  • How to Elegantly convert switch+enum with polymorphism

    - by Kyle
    I'm trying to replace simple enums with type classes.. that is, one class derived from a base for each type. So for example instead of: enum E_BASE { EB_ALPHA, EB_BRAVO }; E_BASE message = someMessage(); switch (message) { case EB_ALPHA: applyAlpha(); case EB_BRAVO: applyBravo(); } I want to do this: Base* message = someMessage(); message->apply(this); // use polymorphism to determine what function to call. I have seen many ways to do this which all seem less elegant even then the basic switch statement. Using dyanimc_pointer_cast, inheriting from a messageHandler class that needs to be updated every time a new message is added, using a container of function pointers, all seem to defeat the purpose of making code easier to maintain by replacing switches with polymorphism. This is as close as I can get: (I use templates to avoid inheriting from an all-knowing handler interface) class Base { public: template<typename T> virtual void apply(T* sandbox) = 0; }; class Alpha : public Base { public: template<typename T> virtual void apply(T* sandbox) { sandbox->applyAlpha(); } }; class Bravo : public Base { public: template<typename T> virtual void apply(T* sandbox) { sandbox->applyBravo(); } }; class Sandbox { public: void run() { Base* alpha = new Alpha; Base* bravo = new Bravo; alpha->apply(this); bravo->apply(this); delete alpha; delete bravo; } void applyAlpha() { // cout << "Applying alpha\n"; } void applyBravo() { // cout << "Applying bravo\n"; } }; Obviously, this doesn't compile but I'm hoping it gets my problem accross.

    Read the article

  • error LNK2001: unresolved external symbol

    - by numerical25
    I am receiving this error >GXRenderManager.obj : error LNK2001: unresolved external symbol "private: static class GXRenderer * GXRenderManager::renderDevice" (?renderDevice@GXRenderManager@@0PAVGXRenderer@@A) The following is my code... GXDX.h class GXDX: public GXRenderer { public: void Render(); void StartUp(); }; GXGL.h class GXGL: public GXRenderer { public: void Render(); void StartUp(); }; GXRenderer class GXRenderer { public: virtual void Render() = 0; virtual void StartUp() = 0; }; GXRenderManager.h #ifndef GXRM #define GXRM #include <windows.h> #include "GXRenderer.h" #include "GXDX.h" #include "GXGL.h" enum GXDEVICE { DIRECTX, OPENGL }; class GXRenderManager { public: static int Ignite(GXDEVICE); private: static GXRenderer *renderDevice; }; #endif GXRenderManager.cpp #include "GXRenderManager.h" int GXRenderManager::Ignite(GXDEVICE DeviceType) { switch(DeviceType) { case DIRECTX: GXRenderManager::renderDevice = new GXDX; return 1; break; case OPENGL: GXRenderManager::renderDevice = new GXGL; return 1; break; default: return 0; } } main.cpp #include "GXRenderManager.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { return 0; } I am not trying to get it to do anything. I am just trying to compile with no errors. I am new with all this so if anyone can give me a hand. that will be great. thanks

    Read the article

  • c multithreading

    - by coubeatczech
    hi, there's a weird behaviour in my threads: void * foo(void * nic){ printf("foo"); } void * threadF(void * ukazatel){ printf("1\n"); pthread_t threadT; pthread_attr_t attr; pthread_attr_init (&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); pthread_create(&threadT,NULL,&foo,(void*)NULL); printf("2\n"); while (!feof(stdin)){ int id, in, out; fscanf(stdin,"%d:%d:%d",&id,&in,&out); } } int main(){ pthread_attr_t attr; pthread_attr_init (&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); pthread_t threadT; pthread_create(&vlaknoVstupu,&attr,&threadF,(void*)&data); pthread_join(threadT,NULL); pthread_attr_destroy (&attr); } // I skipped irelevant parts of code... the thing is, that sometimes, the output is 12foo, but usually just 12. Then the function waits for input. I would expect it to be always 12foo. Do anybody know why are my expectations wrong?

    Read the article

  • DFS replication initial step problem

    - by vn.
    I just setup DFS on my network and it's working fine, and now I'm trying to setup DFS-R on a test folder, but then at the end of the procedure (all went fine, selected my 2 folders, primary folder, replication topology and such) I get this error message (roughly translated from french) : Unable to define security on the replicated folder. The shared administration folder doesn't exist. I'm also wondering if there's any required security on the folders to replicate so that DFS-R can access it. I was trying to add SYSTEM in the security, but it won't find it/allow me. The folder has many many files and folders on the primary DFS pointer, but none on the 2nd, just created it with quite the same rights. Note that the primary DFS pointer is on a 2008 server and the DFS service and the secondary DFS pointer are on a 2008r2. Any help is very appreciated, thanks.

    Read the article

  • Can Windows 7 or Vista's Snipping Tool capture a screen 10 seconds later, and capture the mouse poin

    - by Jian Lin
    I wonder if Windows 7 or Vista's Snipping Tool can capture a screen 10 seconds later, and capture the mouse pointer as well? The thing is that sometimes we need to capture the thing that "pops up" when the mouse is over it, so in that case, Snippling tool won't seem to work (because the mouse pointer is activating the Snipping tool instead of pointing at the thing to get the "pop up" item). In this case, the key PrtScn on the keyboard can capture the screen to the clipboard, except it won't capture the mouse pointer, which is sometimes wanted... Is there a way to do that, and possibly say, "capture the screen 10 seconds later, when I am all ready?" thanks.

    Read the article

  • Can it be done in a more elegant way with the Swing Timer?

    - by Roman
    Bellow is the code for the simplest GUI countdown. Can the same be done in a shorter and more elegant way with the usage of the Swing timer? import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingUtilities; public class CountdownNew { static JLabel label; // Method which defines the appearance of the window. public static void showGUI() { JFrame frame = new JFrame("Simple Countdown"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); label = new JLabel("Some Text"); frame.add(label); frame.pack(); frame.setVisible(true); } // Define a new thread in which the countdown is counting down. public static Thread counter = new Thread() { public void run() { for (int i=10; i>0; i=i-1) { updateGUI(i,label); try {Thread.sleep(1000);} catch(InterruptedException e) {}; } } }; // A method which updates GUI (sets a new value of JLabel). private static void updateGUI(final int i, final JLabel label) { SwingUtilities.invokeLater( new Runnable() { public void run() { label.setText("You have " + i + " seconds."); } } ); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { showGUI(); counter.start(); } }); } }

    Read the article

  • Compiling Objective-C project on Linux (Ubuntu)

    - by Alex
    How to make an Objective-C project work on Ubuntu? My files are: Fraction.h #import <Foundation/NSObject.h> @interface Fraction: NSObject { int numerator; int denominator; } -(void) print; -(void) setNumerator: (int) n; -(void) setDenominator: (int) d; -(int) numerator; -(int) denominator; @end Fraction.m #import "Fraction.h" #import <stdio.h> @implementation Fraction -(void) print { printf( "%i/%i", numerator, denominator ); } -(void) setNumerator: (int) n { numerator = n; } -(void) setDenominator: (int) d { denominator = d; } -(int) denominator { return denominator; } -(int) numerator { return numerator; } @end main.m #import <stdio.h> #import "Fraction.h" int main( int argc, const char *argv[] ) { // create a new instance Fraction *frac = [[Fraction alloc] init]; // set the values [frac setNumerator: 1]; [frac setDenominator: 3]; // print it printf( "The fraction is: " ); [frac print]; printf( "\n" ); // free memory [frac release]; return 0; } I've tried two approaches to compile it: Pure gcc: $ sudo apt-get install gobjc gnustep gnustep-devel $ gcc `gnustep-config --objc-flags` -o main main.m -lobjc -lgnustep-base /tmp/ccIQKhfH.o:(.data.rel+0x0): undefined reference to `__objc_class_name_Fraction' I created a GNUmakefile Makefile: include ${GNUSTEP_MAKEFILES}/common.make TOOL_NAME = main main_OBJC_FILES = main.m include ${GNUSTEP_MAKEFILES}/tool.make ... and ran: $ source /usr/share/GNUstep/Makefiles/GNUstep.sh $ make Making all for tool main... Linking tool main ... ./obj/main.o:(.data.rel+0x0): undefined reference to `__objc_class_name_Fraction' So in both cases compiler gets stuck at undefined reference to `__objc_class_name_Fraction' Do you have and idea how to resolve this issue?

    Read the article

  • android upload progressbarr not working

    - by pieter
    I'm a beginner in Android programming and I was tryinh to upload an image to a server. I found some code here on stackoverflow, I adjusted it and it still doesn't work. The problem is my image still won't upload. edit I solved the problem, I had no rights on the folder on the server. Now I have a new problem. the progresbarr doesn't work. it keeps saying 0 % transmitted does anyone sees an error in my code? import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.Window; import android.widget.Button; import android.widget.ImageView; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; public class PreviewActivity extends Activity { /** The captured image file. Get it's path from the starting intent */ private File mImage; public static final String EXTRA_IMAGE_PATH = "extraImagePath" /** Log tag */ private static final String TAG = "DFH"; /** Progress dialog id */ private static final int UPLOAD_PROGRESS_DIALOG = 0; private static final int UPLOAD_ERROR_DIALOG = 1; private static final int UPLOAD_SUCCESS_DIALOG = 2; /** Handler to confirm button */ private Button mConfirm; /** Handler to cancel button */ private Button mCancel; /** Uploading progress dialog */ private ProgressDialog mDialog; /** * Called when the activity is created * * We load the captured image, and register button callbacks */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.preview); setResult(RESULT_CANCELED); // Import image Bundle extras = getIntent().getExtras(); String imagePath = extras.getString(FotoActivity.EXTRA_IMAGE_PATH); Log.d("DFHprev", imagePath); mImage = new File(imagePath); if (mImage.exists()) { setResult(RESULT_OK); loadImage(mImage); } registerButtonCallbacks(); } @Override protected void onPause() { super.onPause(); } /** * Register callbacks for ui buttons */ protected void registerButtonCallbacks() { // Cancel button callback mCancel = (Button) findViewById(R.id.preview_send_cancel); mCancel.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { PreviewActivity.this.finish(); } }); // Confirm button callback mConfirm = (Button) findViewById(R.id.preview_send_confirm); mConfirm.setEnabled(true); mConfirm.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { new UploadImageTask().execute(mImage); } }); } /** * Initialize the dialogs */ @Override protected Dialog onCreateDialog(int id) { switch(id) { case UPLOAD_PROGRESS_DIALOG: mDialog = new ProgressDialog(this); mDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); mDialog.setCancelable(false); mDialog.setTitle(getString(R.string.progress_dialog_title_connecting)); return mDialog; case UPLOAD_ERROR_DIALOG: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.upload_error_title) .setIcon(android.R.drawable.ic_dialog_alert) .setMessage(R.string.upload_error_message) .setCancelable(false) .setPositiveButton(getString(R.string.retry), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { PreviewActivity.this.finish(); } }); return builder.create(); case UPLOAD_SUCCESS_DIALOG: AlertDialog.Builder success = new AlertDialog.Builder(this); success.setTitle(R.string.upload_success_title) .setIcon(android.R.drawable.ic_dialog_info) .setMessage(R.string.upload_success_message) .setCancelable(false) .setPositiveButton(getString(R.string.success), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { PreviewActivity.this.finish(); } }); return success.create(); default: return null; } } /** * Prepare the progress dialog */ @Override protected void onPrepareDialog(int id, Dialog dialog) { switch(id) { case UPLOAD_PROGRESS_DIALOG: mDialog.setProgress(0); mDialog.setTitle(getString(R.string.progress_dialog_title_connecting)); } } /** * Load the image file into the imageView * * @param image */ protected void loadImage(File image) { Bitmap bm = BitmapFactory.decodeFile(image.getPath()); ImageView view = (ImageView) findViewById(R.id.preview_image); view.setImageBitmap(bm); } /** * Asynchronous task to upload file to server */ class UploadImageTask extends AsyncTask<File, Integer, Boolean> { /** Upload file to this url */ private static final String UPLOAD_URL = "http://www.xxxx.x/xxxx/fotos"; /** Send the file with this form name */ private static final String FIELD_FILE = "file"; /** * Prepare activity before upload */ @Override protected void onPreExecute() { super.onPreExecute(); setProgressBarIndeterminateVisibility(true); mConfirm.setEnabled(false); mCancel.setEnabled(false); showDialog(UPLOAD_PROGRESS_DIALOG); } /** * Clean app state after upload is completed */ @Override protected void onPostExecute(Boolean result) { super.onPostExecute(result); setProgressBarIndeterminateVisibility(false); mConfirm.setEnabled(true); mDialog.dismiss(); if (result) { showDialog(UPLOAD_SUCCESS_DIALOG); } else { showDialog(UPLOAD_ERROR_DIALOG); } } @Override protected Boolean doInBackground(File... image) { return doFileUpload(image[0], "UPLOAD_URL"); } @Override protected void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); if (values[0] == 0) { mDialog.setTitle(getString(R.string.progress_dialog_title_uploading)); } mDialog.setProgress(values[0]); } private boolean doFileUpload(File file, String uploadUrl) { HttpURLConnection connection = null; DataOutputStream outputStream = null; DataInputStream inputStream = null; String pathToOurFile = file.getPath(); String urlServer = "http://www.xxxx.x/xxxx/upload.php"; String lineEnd = "\r\n"; String twoHyphens = "--"; String boundary = "*****"; // log pathtoourfile Log.d("DFHinUpl", pathToOurFile); int bytesRead, bytesAvailable, bufferSize; byte[] buffer; int maxBufferSize = 1*1024*1024; int sentBytes = 0; long fileSize = file.length(); // log filesize String files= String.valueOf(fileSize); String buffers= String.valueOf(maxBufferSize); Log.d("fotosize",files); Log.d("buffers",buffers); try { FileInputStream fileInputStream = new FileInputStream(new File(pathToOurFile) ); URL url = new URL(urlServer); connection = (HttpURLConnection) url.openConnection(); // Allow Inputs & Outputs connection.setDoInput(true); connection.setDoOutput(true); connection.setUseCaches(false); // Enable POST method connection.setRequestMethod("POST"); connection.setRequestProperty("Connection", "Keep-Alive"); connection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary); outputStream = new DataOutputStream( connection.getOutputStream() ); outputStream.writeBytes(twoHyphens + boundary + lineEnd); outputStream.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\"" + pathToOurFile +"\"" + lineEnd); outputStream.writeBytes(lineEnd); bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); buffer = new byte[bufferSize]; // Read file bytesRead = fileInputStream.read(buffer, 0, bufferSize); while (bytesRead > 0) { outputStream.write(buffer, 0, bufferSize); bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); bytesRead = fileInputStream.read(buffer, 0, bufferSize); sentBytes += bufferSize; publishProgress((int)(sentBytes * 100 / fileSize)); bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); bytesRead = fileInputStream.read(buffer, 0, bufferSize); } outputStream.writeBytes(lineEnd); outputStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd); // Responses from the server (code and message) int serverResponseCode = connection.getResponseCode(); String serverResponseMessage = connection.getResponseMessage(); fileInputStream.close(); outputStream.flush(); outputStream.close(); try { int responseCode = connection.getResponseCode(); return responseCode == 200; } catch (IOException ioex) { Log.e("DFHUPLOAD", "Upload file failed: " + ioex.getMessage(), ioex); return false; } catch (Exception e) { Log.e("DFHUPLOAD", "Upload file failed: " + e.getMessage(), e); return false; } } catch (Exception ex) { String msg= ex.getMessage(); Log.d("DFHUPLOAD", msg); } return true; } } } the PHP code that handles this upload is following: <?php $date=getdate(); $urldate=$date['year'].$date['month'].$date['month'].$date['hours'].$date['minutes'].$date[ 'seconds']; $target_path = "./"; $target_path = $target_path . basename( $_FILES['uploadedfile']['name']) . $urldate; if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; } else{ echo "There was an error uploading the file, please try again!"; } ?> would really appreciate it if someone could help me.

    Read the article

  • how to update UI controls in cocoa application from background thread

    - by AmitSri
    following is .m code: #import "ThreadLabAppDelegate.h" @interface ThreadLabAppDelegate() - (void)processStart; - (void)processCompleted; @end @implementation ThreadLabAppDelegate @synthesize isProcessStarted; - (void)awakeFromNib { //Set levelindicator's maximum value [levelIndicator setMaxValue:1000]; } - (void)dealloc { //Never called while debugging ???? [super dealloc]; } - (IBAction)startProcess:(id)sender { //Set process flag to true self.isProcessStarted=YES; //Start Animation [spinIndicator startAnimation:nil]; //perform selector in background thread [self performSelectorInBackground:@selector(processStart) withObject:nil]; } - (IBAction)stopProcess:(id)sender { //Stop Animation [spinIndicator stopAnimation:nil]; //set process flag to false self.isProcessStarted=NO; } - (void)processStart { int counter = 0; while (counter != 1000) { NSLog(@"Counter : %d",counter); //Sleep background thread to reduce CPU usage [NSThread sleepForTimeInterval:0.01]; //set the level indicator value to showing progress [levelIndicator setIntValue:counter]; //increment counter counter++; } //Notify main thread for process completed [self performSelectorOnMainThread:@selector(processCompleted) withObject:nil waitUntilDone:NO]; } - (void)processCompleted { //Stop Animation [spinIndicator stopAnimation:nil]; //set process flag to false self.isProcessStarted=NO; } @end I need to clear following things as per the above code. How to interrupt/cancel processStart while loop from UI control? I also need to show the counter value in main UI, which i suppose to do with performSelectorOnMainThread and passing argument. Just want to know, is there anyother way to do that? When my app started it is showing 1 thread in Activity Monitor, but when i started the processStart() in background thread its creating two new thread,which makes the total 3 thread until or unless loop get finished.After completing the loop i can see 2 threads. So, my understanding is that, 2 thread created when i called performSelectorInBackground, but what about the thrid thread, from where it got created? What if thread counts get increases on every call of selector.How to control that or my implementation is bad for such kind of requirements? Thanks

    Read the article

  • Implementation of delegates in C#

    - by Ram
    Hi, I am trying to learn on how to use delegates efficiently in C# and I was just wondering if anyone can guide me through... The following is a sample implementation using delegates... All I am doing is just passing a value through a delegate from one class to another... Please tell me if this is the right way to implement... And also your suggestions... Also, please note that I have de-registered the delegate in : void FrmSample_FormClosing(object sender, FormClosingEventArgs e) { sampleObj.AssignValue -= new Sample.AssignValueDelegate(AssignValue); } Is this de-registration necessary? The following is the code that I have written.. public partial class FrmSample : Form { Sample sampleObj; public FrmSample() { InitializeComponent(); this.Load += new EventHandler(FrmSample_Load); this.FormClosing += new FormClosingEventHandler(FrmSample_FormClosing); sampleObj = new Sample(); sampleObj.AssignValue = new Sample.AssignValueDelegate(AssignValue); } void FrmSample_FormClosing(object sender, FormClosingEventArgs e) { sampleObj.AssignValue -= new Sample.AssignValueDelegate(AssignValue); } void FrmSample_Load(object sender, EventArgs e) { sampleObj.LoadValue(); } void AssignValue(string value) { MessageBox.Show(value); } } class Sample { public delegate void AssignValueDelegate(string value); public AssignValueDelegate AssignValue; internal void LoadValue() { if (AssignValue != null) { AssignValue("This is a test message"); } } } Pls provide your feedback on whether this is right... Thanks, Ram

    Read the article

< Previous Page | 72 73 74 75 76 77 78 79 80 81 82 83  | Next Page >