|
Joe Woodbury wrote: debug the assembly code
depending on the language it was written in
Joe Woodbury wrote: just try various switches and see what happens.
Good idea. Lets just run some random executables and see what happens..
Not on my PC thank you.
Bob
Ashfield Consultants Ltd
|
|
|
|
|
Ashfield wrote:
depending on the language it was written in
Doesn't matter what language it was written in. It all ends up debuggable with the right low level tools.
Ashfield wrote: Lets just run some random executables and see what happens..
That's not what I said nor the original poster. I said to try various switches on an existing executable
. When looking for help on command line arguments, I often try /help, -help, /?, -? and so forth. If that doesn't work, I've tried /silent, /quiet and so forth.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Point taken, everythng can be debugged if you have the patience. My impression from the original post was that he was going to scan a load of executables to see if they had various options, hence my comments, but I understand your interpretation too.
Bob
Ashfield Consultants Ltd
|
|
|
|
|
I have following in my form
MySqlDataAdapter da;
DataSet ds;
private void MyForm_Load(object sender, EventArgs e)
{
ds = new DataSet();
string strSQL = "SELECT A,B,C,D FROM MyTable";
da = new MySqlDataAdapter(strSQl,myConnection);
da.Fill(ds, "Example");
gridForExample.DataSource = ds.Tables["Example"];
}
private void btnRefresh_Click(object sender, EventArgs e)
{
da.Fill(ds, "Example");
}
So, MyTable has only six rows in database. Every time da.Fill(ds, "Example"); executes grid view
showing 6 more but same rows. I mean 6 then 12 then 18 and so on.
But I expect to see only 6 rows, don't I? Or am I mistaken?
Please help.
Thanks
|
|
|
|
|
There is no indication in this code sample that you have cleared your dataset from its first or subsequent fills, so you are just adding another 6 rows to the previous number of rows each time you do a refresh. You should do a ds.Clear() prior to the Fill if you do not want to keep appending rows to the dataset.
|
|
|
|
|
Thanks for the answer. I don't know how I miss that point?
Anyway thanks again.
|
|
|
|
|
I have an windows service that sends a message via remoting to a gui app on the same machine, which works great.
Now I need to send an unrelated message back from the GUI to the service i.e. two way messaging. I tried to create another remoting channel on a seperate port, however this does not work. I feel as though I'm missing the point here as it would seem I can't run a client and server in the same app. How would I go about this?
ChannelServices.RegisterChannel(new TcpChannel(), false);
rmComDataReceived = (ComDataReceived)Activator.GetObject(
typeof(ComDataReceived), "tcp://localhost:50050/ComDataReceived");
ChannelServices.RegisterChannel(new TcpServerChannel(50051), false);
rmSendPagingMsg = new SendPagingMessage();
ObjRef refSendPagingMessage = RemotingServices.Marshal(rmSendPagingMsg, "SendPagingMessage");
rmSendPagingMsg.SendPagingMessageEvent += new SendPagingMessage.SendPagingMessageEventHandler(Service_SendPagingMessageEvent);
The code above produces the error message: The channel 'tcp' is already registered
|
|
|
|
|
Hi!
You'll have to use a different constructor at least for your second channel.
With the constructor you use TcpServerChannel(int port) ) the server channel also gets the name "tcp", already taken by your first tcp channel. That's the reason for the error message you get.
Try this instead:
ChannelServices.RegisterChannel(new TcpServerChannel("guiChannel", 50051, null), false);
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
At the button click event, it displays records, but the problem here is that instead of showing all the 30,000 records, its displaying only the first row of record and that too upto the no. of total records which is close to 30,000 ( i.e First row of record is being repeated 30,000 times ).
I tried using loops, but it hangs somewhere.........i'm wrong somewhere........i need help........the code is shown below........
myTable.rows.count ]fecthes the correct 30,000 records count
OleDbConnection myCon = new OleDbConnection();
OleDbDataAdapter myAdp = new OleDbDataAdapter();
DataViewManager myDvMngr = new DataViewManager();
DataSet myDS = new DataSet();
DataTable myTable = new DataTable();
string report_file = "<path of="" report="">";
ReportDocument ReportDoc = new ReportDocument(); </path>
private void btnReport_Click(object sender, System.EventArgs e)
{
makeReport(report_file);
{
SetParamValue("@parameter1", myTable.Rows[recordCount]["CLNT#"].ToString());
SetParamValue("@parameter2", myTable.Rows[recordCount]["CNAME"].ToString());
SetParamValue("@parameter3", myTable.Rows[recordCount]["CSEX"].ToString());
SetParamValue("@parameter4", myTable.Rows[recordCount]["CSS#"].ToString());
}
crystalReportViewer1.ReportSource = ReportDoc;
}
|
|
|
|
|
You seem to be missing the loop, but you may want to try something like:
foreach (DataRow row in myTable.Rows)
{
SetParamValue("@...", row["CLNT#"].ToString();
... and so on.
}
|
|
|
|
|
Is anyone out there to help me out...........i tried using the DataRow as well, i'm getting weird results:
1. The first record is repeated 30,000 times and the report shows no other records.
2. After some code changes, the Crytal Reports again shows one record for 30,000 times and then the Crystal Reports screeb blinks and it displays the second record and displays it 30,000 times and so on until I close the program........
Please help me friends.........
|
|
|
|
|
thanks for the reply........i'm already using the SetParamValue() as shown below:
private void makeReport(string ReportFile)
{
ReportDoc.Load(ReportFile);
}
private void SetParamValue (string paramName, string paramValue)
{
for(int i=0; i < ReportDoc.DataDefinition.FormulaFields.Count; i ++ )
{
if(ReportDoc.DataDefinition.FormulaFields[i].FormulaName=="{" + paramName + "}")
{
ReportDoc.DataDefinition.FormulaFields[i].Text = "\"" +paramValue +"\"";
}
}
}
|
|
|
|
|
In C++, There is a delete command. But i simular in C#. I am creating program that will have huge ammount of temporary data in memory. I want to get rid of it, without closing process and GC to clean it up. I am also importing WinAPI calls.
|
|
|
|
|
In C# you need to call the Dispose method if you want to manually delete items. GC does some cleaning, but at times even with the combination of the two methods, .NET applications do hog some memory. Another way to minimalize the memory used is to only import libraries that you will be using for that particular class.
Regards,
Thomas Stockwell
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Visit my homepage Oracle Studios
Discounted or Free Software for Students:
DreamSpark - downloads.channel8.msdn.com
MSDN Academic Alliance - www.msdnaa.com
|
|
|
|
|
When objects go out of scope, they automatically become subject to garbage collection. You can request a garbage collection to occur but how and when it runs is up to the CLR.
Do some careful research on System.GC.Collect() , System.GC.RunFinalizers() , and possibly System.GC.WaitForPendingFinalizers() .
I've never tried doing this myself but, from what I understand it's generally not a good idea to tinker with garbage collection. GC is an extremely intelligent and streamlined process and futzing around with it usually causes more harm than good.
|
|
|
|
|
Robert.C.Cartaino wrote: When objects go out of scope, they automatically become subject to garbage collection.
They actually become eligible for garbage collection, but won't be collected until the runtime determines there is a need to run a collection cycle.
Robert.C.Cartaino wrote: I've never tried doing this myself but, from what I understand it's generally not a good idea to tinker with garbage collection. GC is an extremely intelligent and streamlined process and futzing around with it usually causes more harm than good.
Yes, you generally should never need to call any of the GC functions. Each time a collection cycle runs, your applications main thread is frozen. The more often you call GC.Collect, the more time your application will spend frozen.
Scott Dorman Microsoft® MVP - Visual C# | MCPD
President - Tampa Bay IASA
[ Blog][ Articles][ Forum Guidelines] Hey, hey, hey. Don't be mean. We don't have to be mean because, remember, no matter where you go, there you are. - Buckaroo Banzai
|
|
|
|
|
CLR does the garbage collection automatically so you don't need to delete the objects manually. CLR invokes garbage collector when there is need for memory.
Saksida Bojan wrote: I am also importing WinAPI calls.
If you have P-Invoke calls, you should make sure that it gets removed manually once you finish using it. .NET provides an interface "IDisposable" which can be implemented on your classes and can be used for deterministic clean up. Scott has an excellent article here[^]. Take a look at that.
|
|
|
|
|
hi,
my question is that...how can i determine that what mouse event is occur on particular button?
|
|
|
|
|
By subscribing to the various mouse events possibly?
Dave
|
|
|
|
|
i just want get the mouse event's name which occur on particular button.
|
|
|
|
|
If your using a event that uses the MouseEventHandler, which passes MouseEventArgs, your able to use the MouseEventArgs to find which button was pressed.
For example:
public Form1()
{
this.MouseDown += new MouseEventHandler(Form1_MouseDown);
}
void Form1_MouseDown(object sender, MouseEventArgs e)
{
if(e.Button == MouseButtons.Middle)
...
}
Use the intellisense to show all of the available MouseButtons to choose from.
|
|
|
|
|
I'm pretty sure Click won't tell you. But you can handle the Up and Down events to detect your own clicks.
private void button1_MouseDown ( object sender , System.Windows.Forms.MouseEventArgs e )
{
switch ( e.Button )
{
case System.Windows.Forms.MouseButtons.Left : ...
}
}
A while back I was writing a class to help me with it, but it's not yet ready for prime time.
|
|
|
|
|
I'm trying to verify if a character is a letter.
Regex.IsMatch("3", "[a-zA-z]") returns TRUE when it should be FALSE.
What am I doing wrong?
thanx
|
|
|
|
|
why not just use the char.IsLetter(char c) function?
|
|
|
|
|
Apart from what Jimmanuel said, your code returns FALSE for me.
regards
modified 12-Sep-18 21:01pm.
|
|
|
|