|
Thanks very much.
- Bruce
BRCKCC
|
|
|
|
|
Hi All,
I'm calling an unmanaged function (SetScrollPos()) from my C# code and when I try to instantiate the class that uses this method I get a TypeLoadException with the following message:
Additional information: Could not load type Tradition.TraditionDesktop.TraditionDesktopClient.PageMonitor from assembly PageMonitor, Version=1.0.1641.23960, Culture=neutral, PublicKeyToken=null because the method SetScrollPos has no RVA.
What exactly is an RVA ?
|
|
|
|
|
Nevermind figured it out. I forgot to include the DllImport when I was declaring the method.
|
|
|
|
|
You seemed to have figured out your error, but I just wanted to let you know that an RVA is a relative virtual address - it's the memory offset of where in memory a DLL was loaded. Regarding your problem, this is the offset of the exported function from the base address of the native DLL in memory.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thank you Heath. As always you've been very helpful and I appreciate you taking the time to answer my questions.
|
|
|
|
|
Ahoi,
I have some strange problems with an mdi-parent.
When opening a child window, there should normally be either one minimize, maximize and close button for this child window below the ones from the parent window. If i open several of this child-window, those minimize, maximize and close button of the child window suddenly double themselves, but one of those triplets gets inactive and wont disappear even if i close all child windows. It now stays there for the whole period of time the program is running.
Another "funny" thing is, that when i open three windows, the first one i opened gets a z-order between the second one, i opened and the third one, i opened. Additionally one panel that is connected to the window and normally changes during the rotation of the window focus stops changing its appearance and stays with the style, that it got from the second one.
Is there anybode, who could give some tips how to solve these problems?
Thank you very much in advance.
|
|
|
|
|
I created a user control which contains a combobox for table lookups. It basically sets up a DataAdapter and DataSet and binds it to the combobox. For access to the SelectedValue from forms that will use the control I added:
public object selectedValue<br />
{<br />
get { return this.combo.SelectedValue; }<br />
set { this.combo.SelectedValue = value; }<br />
}
The problem that I am having is when I add the user control to form and use simple binding on the property selectedValue, the value isn't updated. It will update if I set it directly. See below.
Works (from a new form)
this.comboSelector.selectedValue = 100;
// The comboSelector will update with the corrisponding data.
Not Working (from a new form)
this.comboSelector.DataBindings.Add(new System.Windows.Binding("selectedValue", dataSet, "table.column"));
I also tried:
this.comboSelector.DataBindings.Add("selectedValue", dataSet, "table.column"));
When the Currency Manager's postion is chaged these values are not updated. What am I missing? Thanks in advance.
Brett Slaski
|
|
|
|
|
"The specified domain either does not exist or could not be contacted" error
the code works fine on my ASPX page but i get the error above when i move the method into my webservice?
my LDAP String = "LDAP://DC=something,DC=org,DC=uk"
|
|
|
|
|
Perhaps you have impersonation enabled for your ASP.NET web site, but you don't have the EnableSession field set in your WebMethodAttribute on the web service method that uses directory services, or your not passing a NetworkCredentials with the proxied call to the XML web service. If the LDAP directory requires authentication, the web service must be told who the user is.
If the LDAP directory does not require authentication, then I really don't know what to tell you since you gave us little information other than that it works in an ASP.NET Page but not a WebService .
More information about where the ASPX and WebService are hosted would be helpful (same ASP.NET web application?) and what resources they may require (authentication and impersonation, etc.).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
thankyou your comments are always welcome. I did not solve the problem it worked fine on my asp page but the dissapointed i could not get it too perform my way. So moved to forms auth instead.
|
|
|
|
|
I have a dataset filled from SqlDataAdapter, and I would like to filter the dataset.
The column I would like to filter is customerID, which have int data type.
I thought I can use :
<br />
int cust_search = Int32.Parse(txt_custsearch.Text.ToString());<br />
ds_customer.Tables["Customer_table"].DefaultView.RowFilter = "CustomerID = 'cust_search'";<br />
I know here cust_search have to be in string to have the code to work properly.
What should I use to filter interger value in my dataset?
Thank you so much in advance.
|
|
|
|
|
Well, for one, don't use .ToString() on a Text property. It's already a String!
int cust_search = Int32.Parse(txt_custsearch.Text);
ds_customer.Tables["Customer_table"].DefaultView.RowFilter = "CustomerID = " + cust_search.ToString();
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
It worked.
Thanks a lot
|
|
|
|
|
Is it possible to filter with wildcard?
I tried:
<br />
cust_name_search = txt_custname_search.Text + "%";<br />
dataview_cust_search.RowFilter = "cust_name LIKE " + cust_name_search;<br />
It comes with error saying that "Missing Operand after Mod operation".
I know that '%' is the wildcard for Sql Command, but what wildcard do I use for dataview rowfilter, and how do I do it?
Thank you very much in advance.
|
|
|
|
|
Strings in SQL must be enclosed in single quotes.
cust_name_search = "'" + txt_custname_search.Text + "%'";
dataview_cust_search.RowFilter = "cust_name LIKE " + cust_name_search;
Also, Wildcard characters, * and %, are supported and are used with the LIKE operator. Wildcards are allowed only at the beginning and/or end of a filter string.
Regards,
Orina
http://orina.org
|
|
|
|
|
Thank you so much, it works perfectly
|
|
|
|
|
Can I actually use LIKE in row filter for interger?
For example I have these following record I want to filter:
1100
1101
1200
1201
1202
1203
1300
1301
When I typed '12' in the textbox, only record with 12 as the beginning appear (1200, 1201, 1202, 1203).
I tried:
<br />
string CustomerID = "'" + txt_customerid.Text + "%'";<br />
dataview_cust_search.RowFilter = "CustomerID LIKE " + CustomerID;<br />
But error showed up saying that I cannot use LIKE on string with integer.
Is there anyway I can do this?
Also, is it possible to filter date?
Please help.
Thank you very much in advance.
|
|
|
|
|
Does anyone know how to Filter a PKey that is a GUID? For some reason, the standard way of treating GUIDs like Strings (which works great in SQL Server) does not work on DataViews! Anyone have a Clue?
|
|
|
|
|
I have a class that serializes itself out to a file using the SoapFormatter class. I have now added a new member variable to the class and want it to be serializeable too. But loading the previously saved file fails because this new member is not available in the saved file.
If I set the new member to non-serializeable, the load works fine but then I can't save that member back out on the next save operation. Any ideas how to get around this problem without throwing my save file away and starting from scratch?
Thanks!
~Steve
|
|
|
|
|
Does your class implement the ISerializable interface? If so, you can override the ISerializable.GetObjectData method as well as the deserialization constructor to handle situations where the graph does not contain one or more fields that exist in the class.
Note that the type still needs the [Serializable] attribute even when implementing ISerializable.
Hope this helps.
The most exciting phrase to hear in science, the one that heralds the most discoveries, is not 'Eureka!' ('I found it!') but 'That's funny...’
|
|
|
|
|
Hey, sorry for not replying to say "thanks". I had found a solution shortly after I posted and then completely forgot that I posted! Thanks for the info... good stuff.
~Steve
|
|
|
|
|
In addition to what the 'chimp said, there's actually a better way that is verion-independent. First, if you correctly version your assemblies (as you should, just don't use automatic versioning a la an asterisk in your [assembly: AssemblyVersionAttribute] ) you'll have another problem: the serialized form won't deserialize into a newer version (the types don't match, because the versions are different).
This is where a SerializationBinder comes into play. You extend the SerializationBinder and override BindToType . This gives you a chance to "redirect" versions. What I typically do is take the assembly string (includes name, version, culture info, and public key token) and strip out everything but the version. I then concat the typename and left-over assembly name to get a version-independent type. When you then get the Type , the latest version of the assembly is loaded and the new Type is returned. This new version of your existing class would contain the new field (not "variable", which is declared within a method itself), so you may still have to use the 'chimp's suggestion of implementing ISerializable (typically a good idea when you want better control over serialization anyway).
Below is a snippet of code showing what I mentioned:
public class DiffVersionBinder : SerializationBinder
{
public override Type BindToType(string assemblyName, string typeName)
{
string name = assembly.Name.Substring(0, assemblyName.IndexOf(','));
Type t = Type.GetType(typeName + ", " + name);
return t;
}
} To use:
IFormatter formatter = new SoapFormatter();
formatter.Binder = new DiffVersionBinder();
object obj = formatter.Deserialize(someStream);
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hey, sorry for not replying to say "thanks". I had found a solution shortly after I posted and then completely forgot that I posted! Thanks for the info... good stuff.
~Steve
|
|
|
|
|
Hi everybody !
I'd like to create a new component : a trackbar with several scrollers on it.
I think I should modify the original component, but I don't know how to add scrollers..
I thank you for your help
fp12
|
|
|
|
|
You migth consider searching CodeProject first. There are thousands of articles and just as much sample source code. A search on slider[^] yields several good results, like Audio Mixing Console Fader/slider Control[^].
Now what exactly to you mean by "a trackbar with several scrollers on it."? Do you mean the actual track bars? The easiest way would be to wrap several TrackBar controls in a UserControl , with properties to get and set the values of each. The TrackBar control - like most controls in Windows Forms - actually encapsulate Windows Common Controls - native controls that typically let you override behavior like painting and view, but not something so vast as expanding the number of trackbars for a component. A composite control (what I mentioned above) is a much better way of doing this.
Microsoft MVP, Visual C#
My Articles
|
|
|
|