PDA

View Full Version : سوال: فرستادن داده بین پروژه های یک برنامه



sa_ostad
جمعه 25 مرداد 1387, 21:41 عصر
من برنامه ای نوشتم که دو تا پروژه داره . یکی فرم ورود کاربران و یکی پروژه اصلی که فرم های برنامم اونجا هستن.
حالا می خام فرم ورود کابرا به یه کلاس از پروژه فرم هام دسترسی داشته باشه و بتونه شماره کاربری کاربر رو پس از چک کردن یوزر و پسورد به پروژه فرم هام بفرسته تا سطح دسترسی ها رو انجام بده !
از چه روشی باید استفاده کنم تا بتونم این کار ها رو انجام بدم؟

با تشکر.

mehdi.mousavi
شنبه 26 مرداد 1387, 14:40 عصر
من برنامه ای نوشتم که دو تا پروژه داره . یکی فرم ورود کاربران و یکی پروژه اصلی که فرم های برنامم اونجا هستن. حالا می خام فرم ورود کابرا به یه کلاس از پروژه فرم هام دسترسی داشته باشه و بتونه شماره کاربری کاربر رو پس از چک کردن یوزر و پسورد به پروژه فرم هام بفرسته تا سطح دسترسی ها رو انجام بده ! از چه روشی باید استفاده کنم تا بتونم این کار ها رو انجام بدم؟ با تشکر.

سلام.
من چنین تقسیم بندی ای رو توصیه نمیکنم. چه دلیل علمی می تونه باعث این جداسازی بشه؟ منظورم جداسازی فرم Login برنامه از بقیه فرم هاست. در هر حال، برای ارتباط دو برنامه با هم میتونید از یکی از 8-9 روش موجود موسوم به IPC استفاده کنید. (http://msdn.microsoft.com/en-us/library/aa365574%28VS.85%29.aspx) اما بازهم تکرار میکنم، جداسازی فرم Login برنامه از بقیه فرمها کار صحیحی نیست.

fat_roze2000
شنبه 26 مرداد 1387, 14:52 عصر
من برنامه ای نوشتم که دو تا پروژه داره . یکی فرم ورود کاربران و یکی پروژه اصلی که فرم های برنامم اونجا هستن.
حالا می خام فرم ورود کابرا به یه کلاس از پروژه فرم هام دسترسی داشته باشه و بتونه شماره کاربری کاربر رو پس از چک کردن یوزر و پسورد به پروژه فرم هام بفرسته تا سطح دسترسی ها رو انجام بده !
از چه روشی باید استفاده کنم تا بتونم این کار ها رو انجام بدم؟

با تشکر.

میتونی یه کلاس Public Shared تعریف کنی و برای استفاده از هر داده مشترک یک متغیر تعریف کنی


Public Class clsMain

#Region " Private variables, classes And Attributes "
Public Shared strHelpPath As String
Public Shared strCountry, strABFAZone As String
Public Shared strSoundRecordedPath As String

Public Shared bLoadMap As Boolean
Public Shared Map As EMACoMapGuide65.EMACoMapGuide65
'Public Shared Map As EMACoARCGIS90.EMACoARCGIS90

Public Shared bWAccidenceAlarm As Boolean = False 'اخطار حوادث آب
Public Shared bSAccidenceAlarm As Boolean = False 'اخطار حوادث فاضلاب
Public Shared bPeopleRelationAlarm As Boolean = False 'اخطار ارتباطات مردمی

Public Shared frmMessage As New EMACoComponents.frmMessages
Public Shared frmErrorMessage As New EMACoComponents.frmErrorMessage("", "EMACoQABFA.html", EMACoABFAResource.Common.clsApplicationSetting.bSh owError)

Public Shared objStringUtility As New EMACoComponents.EMACoUtility.StringTools
Public Shared objComponentsUtility As New EMACoComponents.EMACoUtility.Components
Public Shared objTableUtility As New EMACoComponents.EMACoUtility.Table

Public Shared imgButton As New EMACoABFAResource.ImageList

#Region " Date And Time "
Public Shared objPersianDate As PersianToolsPack.PersianDate
Public Shared objDateUtility As New EMACoComponents.EMACoUtility.DateTime
Public Shared strCurrentDate As String '= mudMain.clsMain.objDateUtility.GetCurrentShamsiDat e
Public Shared strCurrentFullDate As String '= mudMain.clsMain.objDateUtility.GetCurrentShamsiDat eFullWithWeekDay
Public Shared ReadOnly Property strCurrentTime() As String 'این ساعت جاری سیستم می باشد که از سرور دریافت شده است
Get
Try
'Return clsMain.objDateUtility.GetCurrentTime
Dim objPrameterArray() As Object = {}
Dim dtTemp As Date = EMACODatatTools.SQLDataTools.ExecuteScalar(clsMain .Connection.strConectionString, "GetDate", objPrameterArray)
Dim strHour As String
Dim strMinute As String
clsMain.strCurrentDate = clsMain.objDateUtility.ReturnPersianDate(dtTemp.To String)
clsMain.strCurrentFullDate = clsMain.objDateUtility.ReturnShamsiDateFullWithWee kDayBaseMiladiDate(dtTemp.ToString)

If dtTemp.Hour > 9 Then
strHour = dtTemp.Hour
Else
strHour = "0" & dtTemp.Hour
End If

If dtTemp.Minute > 9 Then
strMinute = dtTemp.Minute
Else
strMinute = "0" & dtTemp.Minute
End If

Return strHour & ":" & strMinute
Catch ex As SqlClient.SqlException
clsMain.frmErrorMessage.ShowMessage(ex, Nothing)
Return "00:00"
End Try
End Get
End Property
Public Shared ReadOnly Property strCurrentTimeFull() As String 'این ساعت جاری سیستم می باشد که از سرور دریافت شده است
Get
Try
'Return clsMain.objDateUtility.GetCurrentTime
Dim objPrameterArray() As Object = {}
Dim dtTemp As Date = EMACODatatTools.SQLDataTools.ExecuteScalar(clsMain .Connection.strConectionString, "GetDate", objPrameterArray)
Dim strHour As String
Dim strMinute As String
Dim strSecond As String
clsMain.strCurrentDate = clsMain.objDateUtility.ReturnPersianDate(dtTemp.To String)
clsMain.strCurrentFullDate = clsMain.objDateUtility.ReturnShamsiDateFullWithWee kDayBaseMiladiDate(dtTemp.ToString)

If dtTemp.Hour > 9 Then
strHour = dtTemp.Hour
Else
strHour = "0" & dtTemp.Hour
End If

If dtTemp.Minute > 9 Then
strMinute = dtTemp.Minute
Else
strMinute = "0" & dtTemp.Minute
End If

If dtTemp.Second > 9 Then
strSecond = dtTemp.Second
Else
strSecond = "0" & dtTemp.Second
End If

Return strHour & ":" & strMinute & ":" & strSecond
Catch ex As SqlClient.SqlException
clsMain.frmErrorMessage.ShowMessage(ex, Nothing)
Return "00:00"
End Try
End Get
End Property
#End Region

Public Shared dtUserAbility As New DataTable("UserAbility")
Public Shared dtLayerName As New DataTable("LayerName")
Public Shared Connection As ConnectionType
Public Shared CallerID As CallerIDType
Public Shared User As UserType
Public Shared Report As ReportType
Public Shared ShowForm As ShowFormType
Public Shared Access As AccessType
Public Shared dtPublic As Publics

Public Structure ConnectionType
Public strConectionString, strServerName, strDBName, strUserName, strPassword As String
End Structure

Public Structure CallerIDType
Public strConectionString, strOperatorID, strCallerIDBank, strSoundRecordedPath As String
Public bDialogLicence As Boolean
End Structure

Public Structure UserType
Public strUserName, strName, strChart As String
Public dtUserAbility As DataTable
End Structure

Public Structure ReportType
Public strReportPath, strPeopleRelationReportPath, strAccountReportPath, strNetWorkReportPath, strNetWashingReportPath, strAccidenceReportPath, strCompanyBranch As String
End Structure

Public Structure ShowFormType
Public bPeopleRelationFormActive As Boolean 'فرم ارتباط مردمی
Public bPeopleRelationSearchActive As Boolean 'فرم جستجوی ارتباط مردمی
Public bCriticalStatus As Boolean 'فرم ارتباط مردمی بحرانی
Public bWAccidenceStatusActive As Boolean 'فرم تغییر وضعیت حوادث آب
Public bWAccidenceSearchActive As Boolean 'فرم جستجوی حوادث آب
Public bSAccidenceStatusActive As Boolean 'فرم تغییر وضعیت حوادث فاضلاب
Public bSAccidenceSearchActive As Boolean 'فرم جستجوی حوادث فاضلاب
Public bABFASubscriptionSearchActive As Boolean 'فرم جستجوی مشترکین
Public bCallerIDFormActive As Boolean
End Structure

Public Structure AccessType
Public bJournal As Boolean
Public bJournalDelete As Boolean
Public bDeleteAccidence As Boolean 'مجوز حذف حادثه
Public bDeletePeopleRelation As Boolean 'مجوز حذف ارتباطات مردمی
Public bFrequentative As Boolean 'مجوز ثبت تکرار درخواست
Public bChangeAccidenceStatus As Boolean 'مجوز تغییر وضعیت حادثه
End Structure

Public Structure Publics
Public dtABFAZone As DataTable
Public dtNewsRank As DataTable
Public dtRequestZone As DataTable
Public dtRequestGroup As DataTable
Public dtRequest As DataTable
Public dtUsage As DataTable
Public dtInnerStatus As DataTable
Public dtInformationStatus As DataTable
Public dtExternalAgent As DataTable
Public dtOtherCostTopic As DataTable
Public dtAwareType As DataTable
Public dtGetMap As DataTable
Public dtExceptionTel As DataTable
Public dtRequestGroupMessageGather As DataTable
End Structure
#End Region

End Class

sa_ostad
شنبه 26 مرداد 1387, 22:53 عصر
با تشکر از دوستان
مشکل حل شد .
باید متغیری که قراره رد و بدل بشه استاتیک تعریف بشه.