|
I don't quite understand what you are asking here.
Can you please rephrase the question?
|
|
|
|
|
Using VB.Net I created MustInherit Object in my project. This object must have public method Clone(byVal objectToCopy As Object). This method is very like:
Dim obj1 As New Object
Dim obj2 As New Object
obj2 = obj1
But in this case obj2 will have reference to obj1.
I need obj2 to be absolutely independent, so wherever happens to obj2, obj1 will stay the same.
I tried to use Serialization, but it doesn't work, because the object has event handler in it.
Thank you for your reply
|
|
|
|
|
You need to call the Clone() method to make a copy of an object.
Dim obj1 As New Foo<br />
Dim obj2 As Foo = DirectCast(obj1.Clone(), Foo)
But be aware that it'll only create a shallow copy. Meaning that the reference member variables in both the clone and source will still reference the same objects in the heap. If you want the clone's member references to refer to new objects/copies, then you'll need to clone its member variables too.
Public Class Bar : Implements ICloneable
Public Data As Integer ' Value types are always copied.
Public Function Clone() As Object Implements System.ICloneable.Clone
Return Me.MemberwiseClone()
End Function
End Class
Public Class Foo : Implements ICloneable
Public Bar As New Bar ' Referenced objects are not copied.
Public Function Clone() As Object Implements System.ICloneable.Clone
Dim copy As Foo = DirectCast(Me.MemberwiseClone(), Foo)
copy.Bar = DirectCast(Me.Bar.Clone(), Bar) ' Clone member object too.
Return copy
End Function
End Class
|
|
|
|
|
perfect. Thanks so much!
|
|
|
|
|
How do I Launch an HTML document in Internet Explorer using VB.net?
|
|
|
|
|
try this:
Process.Start("http://www.codeproject.com")
|
|
|
|
|
|
You already got your answer on the original post. Make absolutely sure your parameter types match. You've got a C function with an Int parameter declared as Int16 in VB. The C Int is 32 bits wide, while the VB Int16 is, obviously, 16 bits wide.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
hello all,
i am developing an application for a client where i have only the PST lines to communicate. but the database is there in server which is far a way from my site. i need to dial the data from client application and retreive the data. how do i do that from my client application.
Could any one plz suggest me plz.
Thanking u all.
regards,
Basheer.
|
|
|
|
|
I want to way in vb or batch file able to force domain user to logoff after their time has expired.
Or if there is another solution for this, pleas?
thanks
|
|
|
|
|
This question really belongs in a different forum.
You should be using donain group policies for this sort of thing. It's all done for you by Microsoft.
...Steve
|
|
|
|
|
Hi,
I am developing a VB.NET Windows App using VS 2003 and Framework 1.4.
The app bascially executes DTS packages on a remote SQL Server 2000.
One of the DTS packages deletes a database, however if there is a remote connection
to the database , the DTS package to delete it will fail, as expected.
Before the database is deleted I do some stuff with it:
Dim Conn As SqlConnection = New SqlConnection(ConnectionString)
Conn.Open()
'do some stuff
Conn.Close()
Conn.Dispose()
Conn = Nothing
After this code it attempts to delete the code using the remote call to the DTS package, but fails.
I have tested the DTS execution before connecting to the database with the code above and it works fine.
If I go into Enterprise Manager and look at the Process Info under Management/Current Activity/ I can see the new process id to the database created. I have done testing and as long as the process id to the database exists I can't delete the database.
What can I do to remove the processId from the SQL Server? The code above does not. When debugging, if I STOP the application , the process id disappears.
Can someone explain how to remove the connection from the server using VB code?
thanks
haggisns
|
|
|
|
|
haggisns wrote: One of the DTS packages deletes a database, however if there is a remote connection
to the database , the DTS package to delete it will fail, as expected.
One thing you might want to do to avoid running the DTS package if there is a connection to the database that would prevent you from deleting it is to check whether there are any connections. Something like this in the master database, where the number of rows returned indicates the number of connections to the database:
SELECT syslocks.id FROM syslocks, sysdatabases WHERE (syslocks.dbid = sysdatabases.dbid) AND (sysdatabases.name = 'your-database-name')
-- modified at 9:47 Friday 18th November, 2005
|
|
|
|
|
Thanks for the response.
What I'm really intrested in knowing is how to delete the process id from the server.
BambooMoon wrote: SELECT syslocks.id FROM syslocks, sysdatabases WHERE (syslocks.dbid = sysdatabases.dbid) AND (sysdatabases.name = 'your-database-name')
Can I just modify the above SQL statement to delete it from the syslocks table?
The process id never goes away over time, if I open the connection to the datbase.
conn.open the connection remains forever.
conn.close
conn.dispose
none of these work to remove the process id in enterprise manager.
Please advise.
haggisns
|
|
|
|
|
I write strings in binary into database,but I cann`t read them out to Textbox correctly.Why?
I try to do it by two methods,but both of them failed.
Dim [Unicode] As New UnicodeEncoding
1.
sqlDA = New SqlDataAdapter(sqlStr, sqlCon)
sqlDs = New DataSet
sqlDA.Fill(sqlDs, "Result")
If sqlDs.Tables(0).Rows.Count > 0 Then
Dim bytContents As Byte()
bytContents = CType(sqlDs.Tables(0).Rows(0).Item("Contents"), Byte())
txtContents.Text = [Unicode].GetString(bytContents)
end if
2.
Dim sqlDr As SqlDataReader
sqlDr = sqlCmd.ExecuteReader(CommandBehavior.SequentialAccess)
sqlDr.Read()
Dim bytContents As Byte(), intLength As Integer
intLength = sqlDr.GetBytes(3, 0, bytContents, 0, 0)
ReDim bytContents(intLength - 1)
intLength = sqlDr.GetBytes(3, 0, bytContents, 0, bytContents.Length)
txtContents.Text = [Unicode].GetString(bytContents, 0, intLength)
sqlDr.Close()
The result is that I can read only one byte,the others is null.So I cann`t get the correct string.
How can I get the correct string from binary?
|
|
|
|
|
Is there a way in VB or using batch files to force domain users to logoff when there time expired.
Thanks....
|
|
|
|
|
This is already done in group policies. Instead of asking the same question over and over, you might want to explain why it doesn't fill your needs.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
hi,
all
i m still trying to findout the soln. for using tdb or flexigrid in vb.net windows application, here i m using dataset.
pls. i need favourable answer. i am waiting.......
hi this ajay bharti
-- modified at 5:29 Monday 21st November, 2005
|
|
|
|
|
Hi Ajay,
There are may examples of using FlexGrid.NET and TDBGrid.NET with a dataset. For FlexGrid.NET, please begin by taking a look at the BoundDelete sample. For TDBGrid.NET, please begin by referring to Tutorial1.
If you are using the ActiveX versions of FlexGrid and TrueDBGrid in VS.NET, while it is recommended that you use the versions for VS.NET, the ActiveX versions should still work reasonably well. If you are trying to use the ActiveX versions, you also need to use the ActiveX version of ADO (Microsoft ADODB) or our TrueData ActiveX control. For an example, convert any of the ActiveX samples to VS.NET using VS.NET's automatic conversion.
Additional samples can be found on our website, http:\\www.ComponentOne.com[^]. The direct link to our samples page is http://helpcentral.componentone.com/ProductResources.aspx?View=Samples[^]. If you continue to have problems, you can either let me know through the VB.NET group or contact our support team for assistance. Options for contacting support are available on our support options[^] page.
Suelinda W
Customer Engagement, ComponentOne LLC
|
|
|
|
|
All,
I have seen a lot of examples for VB 6.0 and less to create a toolbar that is dockable on the desktop edges which then automatically moves your icons around so everything is still viewable. I am currently trying to find an example in VB 2005. I can create a dockable toolbar on all sides of the screen but I can not get it to move icons and things like that. It is basically, more or less, and form with transparency enabled and then the toolbar can move to each side. I hope that this explains what I would like to do. Basically it is like the Office 2000 Toolbar.
Thanks for any help.
Jason
|
|
|
|
|
|
I've used this code and it works well:
<br />
Imports System<br />
Imports System.Drawing<br />
Imports System.Collections<br />
Imports System.ComponentModel<br />
Imports System.Windows.Forms<br />
Imports System.Data<br />
Imports System.Runtime.InteropServices<br />
<br />
Public Class Form1<br />
Inherits System.Windows.Forms.Form<br />
<br />
#Region " Windows Form Designer generated code "<br />
<br />
Public Sub New()<br />
MyBase.New()<br />
<br />
'This call is required by the Windows Form Designer.<br />
InitializeComponent()<br />
<br />
'Add any initialization after the InitializeComponent() call<br />
<br />
End Sub<br />
<br />
'Form overrides dispose to clean up the component list.<br />
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)<br />
If disposing Then<br />
If Not (components Is Nothing) Then<br />
components.Dispose()<br />
End If<br />
End If<br />
MyBase.Dispose(disposing)<br />
End Sub<br />
<br />
'Required by the Windows Form Designer<br />
Private components As System.ComponentModel.IContainer<br />
<br />
'NOTE: The following procedure is required by the Windows Form Designer<br />
'It can be modified using the Windows Form Designer. <br />
'Do not modify it using the code editor.<br />
Friend WithEvents Button1 As System.Windows.Forms.Button<br />
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()<br />
Me.Button1 = New System.Windows.Forms.Button()<br />
Me.SuspendLayout()<br />
'<br />
'Button1<br />
'<br />
Me.Button1.Location = New System.Drawing.Point(72, 80)<br />
Me.Button1.Name = "Button1"<br />
Me.Button1.Size = New System.Drawing.Size(80, 40)<br />
Me.Button1.TabIndex = 0<br />
Me.Button1.Text = "Close"<br />
'<br />
'Form1<br />
'<br />
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)<br />
Me.ClientSize = New System.Drawing.Size(292, 266)<br />
Me.Controls.Add(Me.Button1)<br />
Me.Name = "Form1"<br />
Me.Text = "Form1"<br />
Me.ResumeLayout(False)<br />
<br />
End Sub<br />
<br />
#End Region<br />
<br />
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />
RegisterBar()<br />
End Sub<br />
<br />
Structure RECT<br />
Public left As Integer<br />
Public top As Integer<br />
Public right As Integer<br />
Public bottom As Integer<br />
End Structure 'RECT<br />
<br />
<br />
Structure APPBARDATA<br />
Public cbSize As Integer<br />
Public hWnd As IntPtr<br />
Public uCallbackMessage As Integer<br />
Public uEdge As Integer<br />
Public rc As RECT<br />
Public lParam As IntPtr<br />
End Structure 'APPBARDATA<br />
Enum ABMsg<br />
<br />
ABM_NEW = 0<br />
ABM_REMOVE = 1<br />
ABM_QUERYPOS = 2<br />
ABM_SETPOS = 3<br />
ABM_GETSTATE = 4<br />
ABM_GETTASKBARPOS = 5<br />
ABM_ACTIVATE = 6<br />
ABM_GETAUTOHIDEBAR = 7<br />
ABM_SETAUTOHIDEBAR = 8<br />
ABM_WINDOWPOSCHANGED = 9<br />
ABM_SETSTATE=10<br />
<br />
End Enum<br />
Enum ABNotify<br />
<br />
ABN_STATECHANGE = 0<br />
ABN_POSCHANGED<br />
ABN_FULLSCREENAPP<br />
ABN_WINDOWARRANGE<br />
<br />
End Enum<br />
Enum ABEdge<br />
<br />
ABE_LEFT = 0<br />
ABE_TOP<br />
ABE_RIGHT<br />
ABE_BOTTOM<br />
End Enum<br />
<br />
<br />
<br />
Private fBarRegistered As Boolean = False<br />
<br />
Public Declare Function SHAppBarMessage Lib "shell32.dll" Alias "SHAppBarMessage" (ByVal dwMessage As Integer, ByRef pData As APPBARDATA) As System.UInt32<br />
Public Declare Function GetSystemMetrics Lib "User32.dll" Alias "GetSystemMetrics" (ByVal index As Integer) As Integer<br />
Public Declare Function MoveWindow Lib "User32.dll" Alias "MoveWindow" (ByVal hWnd As IntPtr, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal repaint As Boolean) As Boolean<br />
Private Declare Auto Function RegisterWindowMessage Lib "User32.dll" (ByVal msg As String) As Integer<br />
Private uCallBack As Integer<br />
<br />
Private Sub RegisterBar()<br />
Dim abd As New APPBARDATA()<br />
abd.cbSize = Marshal.SizeOf(abd)<br />
abd.hWnd = Me.Handle<br />
If Not fBarRegistered Then<br />
uCallBack = RegisterWindowMessage("AppBarMessage")<br />
abd.uCallbackMessage = uCallBack<br />
<br />
Dim ret As System.UInt32 = SHAppBarMessage(CInt(ABMsg.ABM_NEW), abd) 'ToDo: Unsigned Integers not supported<br />
fBarRegistered = True<br />
<br />
ABSetPos()<br />
<br />
Else<br />
SHAppBarMessage(CInt(ABMsg.ABM_REMOVE), abd)<br />
fBarRegistered = False<br />
End If<br />
End Sub 'RegisterBar<br />
<br />
<br />
Private Sub ABSetPos()<br />
Dim abd As New APPBARDATA()<br />
abd.cbSize = Marshal.SizeOf(abd)<br />
abd.hWnd = Me.Handle<br />
abd.uEdge = CInt(ABEdge.ABE_TOP)<br />
<br />
If abd.uEdge = CInt(ABEdge.ABE_LEFT) Or abd.uEdge = CInt(ABEdge.ABE_RIGHT) Then<br />
abd.rc.top = 0<br />
abd.rc.bottom = SystemInformation.PrimaryMonitorSize.Height<br />
If abd.uEdge = CInt(ABEdge.ABE_LEFT) Then<br />
abd.rc.left = 0<br />
abd.rc.right = Size.Width<br />
Else<br />
abd.rc.right = SystemInformation.PrimaryMonitorSize.Width<br />
abd.rc.left = abd.rc.right - Size.Width<br />
End If<br />
<br />
Else<br />
abd.rc.left = 0<br />
abd.rc.right = SystemInformation.PrimaryMonitorSize.Width<br />
If abd.uEdge = CInt(ABEdge.ABE_TOP) Then<br />
abd.rc.top = 0<br />
abd.rc.bottom = Size.Height<br />
Else<br />
abd.rc.bottom = SystemInformation.PrimaryMonitorSize.Height<br />
abd.rc.top = abd.rc.bottom - Size.Height<br />
End If<br />
End If<br />
<br />
' Query the system for an approved size and position. <br />
SHAppBarMessage(CInt(ABMsg.ABM_QUERYPOS), abd)<br />
<br />
' Adjust the rectangle, depending on the edge to which the <br />
' appbar is anchored. <br />
Select Case abd.uEdge<br />
Case CInt(ABEdge.ABE_LEFT)<br />
abd.rc.right = abd.rc.left + Size.Width<br />
Case CInt(ABEdge.ABE_RIGHT)<br />
abd.rc.left = abd.rc.right - Size.Width<br />
Case CInt(ABEdge.ABE_TOP)<br />
abd.rc.bottom = abd.rc.top + Size.Height<br />
Case CInt(ABEdge.ABE_BOTTOM)<br />
abd.rc.top = abd.rc.bottom - Size.Height<br />
End Select<br />
<br />
' Pass the final bounding rectangle to the system. <br />
SHAppBarMessage(CInt(ABMsg.ABM_SETPOS), abd)<br />
<br />
' Move and size the appbar so that it conforms to the <br />
' bounding rectangle passed to the system. <br />
MoveWindow(abd.hWnd, abd.rc.left, abd.rc.top, abd.rc.right - abd.rc.left, abd.rc.bottom - abd.rc.top, True)<br />
End Sub 'ABSetPos<br />
<br />
<br />
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)<br />
If m.Msg = uCallBack Then<br />
Select Case m.WParam.ToInt32()<br />
Case CInt(ABNotify.ABN_POSCHANGED)<br />
ABSetPos()<br />
End Select<br />
End If<br />
<br />
MyBase.WndProc(m)<br />
End Sub 'WndProc<br />
<br />
<br />
Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams<br />
Get<br />
Dim cp As CreateParams = MyBase.CreateParams<br />
cp.Style = cp.Style And Not &HC00000 ' WS_CAPTION<br />
cp.Style = cp.Style And Not &H800000 ' WS_BORDER<br />
cp.ExStyle = &H80 Or &H8 ' WS_EX_TOOLWINDOW | WS_EX_TOPMOST<br />
Return cp<br />
End Get<br />
End Property<br />
<br />
Private Sub End_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />
RegisterBar()<br />
End<br />
End Sub<br />
End Class<br />
Hope this helps,
Michael
|
|
|
|
|
When I move the cursor to the last row in my DataGrid a new record is added to the DataView. The new row fields contain DBNull values. When the new row is added how can I automatically assign values to these fields so they are not null?
Thanks
|
|
|
|
|
Programmatically you do it like this.
DataSet1.Tables("TABLE_NAME").Columns("COLUMN_NAME").DefaultValue = "Me"
Otherwise go into your dataset properties and then tables and finally columns. Once there click on your column and find the property DefaultValue.
HTH,
Jason
|
|
|
|
|
What is the syntax when using the finally columns?
|
|
|
|