|
Lol.. MS to kill WinForms is Of course way off.. I wanted the most portable type interface (Linux + MS) so was at the time contemplating java/ silverlight but of the same token playing with c#.. just ignorance really.. But didnt get very far other than getting myself wound up by not havign clear direction.
Ok.. so VS express now installed for the next step.
Sure I read the delphi issues was this not to do with the delay in release of decent x64 architecture? Or maybe that was just specific to what I had been looking into at the time ..
Sure property grids but unless simple I'd rather write the code to the same. However I say that without knowing the complexities of the same within .net.
YOung developers..mmm.. with no doubt all with better knowledge than I however... yes i did a few times but frequently the wrong ones and as a result I spent more time chasing debugging and repeating myself oh and puling my hair out (to the point of having little left) in dispair than much else. Hence why my thoughts are design structure in a simple way (access + decent x64 compatible components ) that is then useable (for current business) then the architecture in terms of structure is in place. THus the rest can be a modular upgrade apporach.
I didn't read any rudeness from you more of a valid arguments.
Regards
P.S> initial issue completely rectified.
|
|
|
|
|
champagne_charly wrote: I wanted the most portable type interface (Linux + MS) so was at the time contemplating java/ silverlight I'm targetting the same platforms, but using WinForms. The .NET assemblies are binary compatible, meaning I can compile on Windows using VS, and use them under OpenSUSE/Ubuntu without modification. Then again, using a webinterface would allow even more clients to use the application - even the Kindle can display a webpage.
champagne_charly wrote: I read the delphi issues was this not to do with the delay in release of decent x64 architecture? We abandoned the IDE before the move to 64-bit code; people don't mind being in 32-bits that much, see VB6 as proof. A lot of applications are still bound to the 32-bit platform due to the bitness of the libraries they reference. The amount of users dropped significantly when "Borland" (or whatever name they had at that moment) discontinued the free version.
champagne_charly wrote: Sure property grids but unless simple I'd rather write the code to the same. However I say that without knowing the complexities of the same within .net. Since you're already familiar with VB6, it could be as simple as asking which properties a record has, and creating a huge "switch" to display an editor for that property. The new framework will add more useful goodies to your toolbox, like real threading.
champagne_charly wrote: THus the rest can be a modular upgrade apporach. That's the ideal architecture; anything that can be described in terms of input/output can easily be tested and outsourced/offloaded to someone else. Otherwise one will always have problems with integrating the different parts and getting them to work together.
champagne_charly wrote: P.S> initial issue completely rectified. Hehe, guilty, it's sometimes hard to stay on topic
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Thanks Eddy,
Pleasure talking to you. I feel i've gained valuable insight. The idea of a simple apps for ubuntu laptop (without running in wine) is quite appealing.
Regards
|
|
|
|
|
You're welcome
|
|
|
|
|
Oh.. and just changed to use freefile and same error occurs.
|
|
|
|
|
What the hell is this??? What's with the line numbers?? You're doing it VERY old-school, like 1980's old school.
You also don't say anything about the error message that comes up. Get rid of the On Error Goto garbage so you can get the error messages.
|
|
|
|
|
Hello,
This is vb6 not .net.. are we on the same page there..?
Code was Taken from vba(access/outlook) modules to vb6 (yes released 15 years ago 1998) as it is was pretty much a copy and paste.. I can +- read vb.net and c# but as yet dont write nor do I intend to learn.
As for the line numbers.. This is the method I use to log where an error occurs and find line easily.. What would you suggest? I was under the impression this was common pratice.
Following has been added to bottom of sub so if an error occurs within it throws it..
HTTPDownloadFile_Error:
WriteLog "Error " & Err.Number & " (" & Err.Description & " at Line: " & Erl & ") in procedure HTTPDownloadFile of VBA Document Form_frmImportCreate"
However nothing is thrown.. letting us believe it is not this module.. however if I add
exit sub above any lines within this thus disabling.. the app will loop through all files without crashing..
|
|
|
|
|
champagne_charly wrote: nor do I intend to learn.
You better! If you're job is writing code, you're going to be without a job sooner than you think.
I know when VB6 was relased, and I was NEVER using line numbers back then. Not even in VBA or VBScript code.
champagne_charly wrote: What would you suggest?
Picking up Visual Studio 2012 Express and a beginners book on VB.NET or C#.
champagne_charly wrote: What would you suggest? I was under the impression this was common pratice.
Yeah, back in the GWBASIC and QBASIC days, back in the 80's.
champagne_charly wrote: However nothing is thrown.. letting us believe it is not this module.. however
if I add
Then how do you define "crashing"?? What does it do or say that is unexpected?
|
|
|
|
|
how to get replication status from sqlserver 2005 in vb.net ?
|
|
|
|
|
|
i have softwares prepared on VB.net 2005 and inside my code there is msgbox contain arabic letters
the problem come when i open my code but surprise about new letter come instead of my arabic letters
for example i see
MsgBox("åá ÊÑÈÏ ÈÇ ÇáÞíÇã ÈÚãáíÉ ÇáÊÚÏíá")
i search on google and i find that this letters is icelandic and portuguese language
how i can recover my language inside the code
|
|
|
|
|
I believe this is codepage issue with the Arabic unicode characters being converted to an ASCII interpretation.
I copied MsgBox("åá ÊÑÈÏ ÈÇ ÇáÞíÇã ÈÚãáíÉ ÇáÊÚÏíá") to Notepad++ and changed the encoding to "Arabic-Windows 1256" and the result was this:
MsgBox("هل تربد با القيام بعملية التعديل") - Is this correct?
Google Translate yielded: "Are تربد the Ba carry out the amendment".
I don't know of a simple way to correct this, but perhaps someone else will.
modified 10-Jun-13 21:14pm.
|
|
|
|
|
Hi Guys,
I have a quick and hopefully not to difficult question to the commmunity. I have a program that reads an excel spreadsheet, adds the data to a datatable inside a dataset and displays it in a wpf datagrid using databinding.
Here is the code for it, it works fine just like I imagined it . I also have a funciton that returns all the sheets in a excel spreadsheet.
Private Sub Button_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim m_sConn1 As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Temp\Test.xlsx;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;IMEX=1"""
Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
conn1.Open()
Dim da As OleDbDataAdapter
Dim ds As New System.Data.DataSet
Dim test As String
test = "[Sheet1b$]"
Dim teststring As String
teststring = "Select * FROM" & test & """"
da = New OleDbDataAdapter(teststring, conn1)
da.Fill(ds, "TestTable")
da.Dispose()
Dim bindingSource As New BindingSource(ds, "TestTable")
excelDataGrid.ItemsSource = bindingSource
conn1.Close()
End Sub
Private Sub getList_Click(sender As Object, e As RoutedEventArgs) Handles getList.Click
Dim m_sConn1 As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Temp\Test.xlsx;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;IMEX=1"""
Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
conn1.Open()
Dim test As New System.Data.DataTable
test = conn1.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
If test Is Nothing OrElse test.Rows.Count < 1 Then
Throw New Exception("Error: Could not determine the name of the first worksheet.")
End If
Dim firstSheetName As String
Dim i As Integer
For i = 0 To test.Rows.Count - 1
firstSheetName = test.Rows(i)("TABLE_NAME").ToString()
List1.Items.Add(firstSheetName)
Next
End Sub
My question now is this. I'd like to have the program iterate through the first column of the data and match the entries with known parameters. For example. the user has a cell that says EmpID, I want the program to recognize it and change it to Employee ID. Upon recognizing all of these, I want the program to display the data with the new cell values in a different datagrid.
My thought was this: Load data from excel -> fill datatable in dataset -> bind data to datagrid for visual confirmation that data was imprted correctly -> in different sub obtain the databinding for the wpf datagrid and fill a new datatable in a new dataset -> go through the recognizing function -> and spit out the data in a new datatable
I tried looking for a way to do it but am having trouble with getting the data. All I could find online was how to get data into a datagrid and not the other way around.
initially I thought it would be as simple as
Dim TestDataTabe As System.Data.DataTable
TestDataTabe = DirectCast(excelDataGrid.ItemsSource, System.Data.DataView).ToTable
but that didn't seem to work and it told me an error: Unable to cast object of type 'System.Windows.Forms.BindingSource' to type 'System.Data.DataView'.
so now I am stuck and can't find anything on Dr. Google about getting the datatable that is used to fill the datagrid. Would someone be able to help me out, it would be greatly appreciated. Is it possible to have a databinding for a datatable? As in Datatable.bindingsource = datagrid.bindingsource?
Update:
so it seems that I always sorta solve my problems when I post on a forum lol. So here is what I did and hope that you guys can give me input to see if it is a viable way to do this sort of thing.
Instead of creating a dataset I created a datatable and instead of using binding source I used datagrid.itemssource = datatable.defaultview
then i direct casted it totable here is the code
Private Sub Button_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim m_sConn1 As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Temp\Test.xlsx;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;IMEX=1"""
Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
conn1.Open()
Dim da As OleDbDataAdapter
Dim ds As New System.Data.DataTable
Dim test As String
test = "[Sheet1b$]"
Dim teststring As String
teststring = "Select * FROM" & test & """"
da = New OleDbDataAdapter(teststring, conn1)
da.Fill(ds)
da.Dispose()
excelDataGrid.ItemsSource = ds.DefaultView
conn1.Close()
End Sub
Private Sub Button_Click_2(sender As Object, e As RoutedEventArgs)
Dim TestDataTabe As System.Data.DataTable
TestDataTabe = DirectCast(excelDataGrid.ItemsSource, System.Data.DataView).ToTable
End Sub
Now I got more questions lol How would you set the itemssource of the datagrid to a table inside a dataset? Sorry for the long post but maybe it helps someone out.
|
|
|
|
|
I want to convert VB6 project to VB.Net. I an facing some problems.
I have separated huge VB6 project into separate dlls based in functionality. All business logic is in dll and UI is in exe program.
Out of all dlls, one dll only caontains UDT(User Defined Types) and it's used by Main exe program and all other dlls. Now I want to Convert all dlls and main program in VB.Net STEP BY STEP. I have decided to convert all dlls first and then main program.
If I convert other dll to .Net I ran into Case1 error
If I convert UDT dll to .Net using Structure, I got case 2 error
I am giving my dummy code for both the cases and problem/error description below.
Case 1:
UDT dll is in VB6 -->Name: Dll_EmployeeType
Type Employee_Properties
Employee_Id as integer
Employee_Name as String
Employee_Address as string
End Type
.Net Dll -->Name: Dll_Employee_Methods --> this refers vb6 dll Dll_EmployeeType
Class Cls_Employee
Function Display_NoOf_Employees(byval arr_employee as Dll_EmployeeType. Employee_Properties)
Msgbox ubound(arr_employee)
End Class
VB6 Exe: main program --> this refers vb6 dll Dll_EmployeeType and Dll_Employee_Methods
This program has form and button on it.
On Button_Click
Dim arr_employee() as Dll_EmployeeType. Employee_Properties
Redim arr_employee(1 to 2)
arr_employee(1). Employee_Id = 1
arr_employee(1). Employee_Name = ?name1?
arr_employee(1). Employee_Address = ?address1?
arr_employee(2). Employee_Id = 2
arr_employee(2). Employee_Name = ?name2?
arr_employee(2). Employee_Address = ?address2?
dim obj as new Dll_Employee_Methods. Cls_Employee
call obj. Display_NoOf_Employees(arr_employee)
error occurs at above line is ?Class does not support an automation or does not support expected interface?
Note: If .Net dll code is in normal class ? no intellicense is displayed in main program
If .Net dll code is in COM class ? intellicense is displayed in main program
But the error is same as above
Case 2:
Vb6 UDT dll is converted to .Net having structure
?Build tlb using COM checkbox as checked
?Add reference of it to Main exe program
?Run program
Throws an error ?Variable uses an automation type not supported in Visual basic? at first line(dim arr_employre() as?..)
|
|
|
|
|
dim obj as new Dll_Employee_Methods. Cls_Employee
This refers to another class or dll which would need to be converted as well.
Else you need to use this dll as unmanaged code in your program.
|
|
|
|
|
Please any one help me. How to send a mail from application (VB Coding) to E-mail such as Gmail, yahoo.
|
|
|
|
|
|
Hello everyone. I'm writing an application to use a smart card to fill a process.info username and password. I get the credentials using CredUIPromptForWindowsCredentials and then pass (username,password,domain stringbuilder variables) to CredUnPackAuthenticationBuffer to get a networkcredential username, securepassword and domain. If I use my AD credentials, it works just fine. When I step through the code, I can see the username the is acquired from the smartcard is encrypted possibly??? I'm not really sure how to take the username that the CredUnPackAuthenticationBuffer gives me to use as the username in my process.info. When I run the code now using my smart card, i get an exception "A specified logon session does not exist. It may already have been terminated." How do I get use the username I get from the smart card in my process.info username? I hope this wasn't too confusing because I've been trying to figure this out for a week now...
|
|
|
|
|
Howdie.
I am researching how to use the Unicode version of FindFirstFileEx() in vb.Net and am having a heck of a time getting this to work. I had downloaded an example and it used the standard version, FindFirstFile(). I then modified the code to work with FindFirstFileEx(), instead, and got that to work, too, but only for ANSI characters (Alias "FindFirstFileExA"). But when I attempted to use the Unicode version (Alias "FindFirstFileExW"), it fails miserably. The best I have been able to do is get a non-zero return value from the function (which means it found the folder), but all the returned WFD structure contains are null strings for the folder name and alternate folder name.
I have googled the problem (MSDN is of no help in this regard) and did find one reference on how to alter the function parameters to provide pointers instead of a string and the WFD structure, themselves.
At any rate, here is my code for just the top half that looks for folders. The bottom half deals with searching for files, but it is just a repeat of this example, essentially. If I can get this top half to work with your help, I can certainly get the bottom half to work.
I would have liked to attach a zip containing the project and the test folder I used, but it does not look like attachments are possible, here.
Thanks for any help!
Option Strict Off
Option Explicit On
Imports VB = Microsoft.VisualBasic
Imports System.Runtime.InteropServices
Friend Class Form1
Inherits System.Windows.Forms.Form
Private Declare Function FindFirstFileExW Lib "kernel32.dll" Alias "FindFirstFileExW" (ByVal lpFileName_IntPtr As IntPtr, ByVal fInfoLevelId As FINDEX_INFO_LEVELS, ByRef lpFindFileData_IntPtr As IntPtr, ByVal fSearchOp As FINDEX_SEARCH_OPS, ByRef lpSearchFilter As Int32, ByVal dwAdditionalFlags As Integer) As Long
Private Declare Function FindNextFileW Lib "kernel32" Alias "FindNextFileW" (ByVal hFindFile As Long, ByRef lpFindFileData As WIN32_FIND_DATA) As Integer
Private Declare Function GetFileAttributesW Lib "kernel32" Alias "GetFileAttributesW" (ByVal lpFileName As String) As Integer
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Integer
Private Declare Function GetLastError Lib "kernel32" Alias "GetLastError" () As Integer
Const MAX_PATH As UInt16 = 260
Const MAXDWORD As UInt64 = 4294967295
Const INVALID_HANDLE_VALUE As Int16 = -1
Const FILE_ATTRIBUTE_ARCHIVE As UInt16 = &H20
Const FILE_ATTRIBUTE_DIRECTORY As UInt16 = &H10
Const FILE_ATTRIBUTE_HIDDEN As UInt16 = &H2
Const FILE_ATTRIBUTE_NORMAL As UInt16 = &H80
Const FILE_ATTRIBUTE_READONLY As UInt16 = &H1
Const FILE_ATTRIBUTE_SYSTEM As UInt16 = &H4
Const FILE_ATTRIBUTE_TEMPORARY As UInt16 = &H100
Public Enum FINDEX_INFO_LEVELS
FindExInfoStandard = 0
FindExInfoBasic = 1
FindExInfoMaxInfoLevel = 2
End Enum
Enum FINDEX_SEARCH_OPS
FindExSearchNameMatch = 0
FindExSearchLimitToDirectories = 1
FindExSearchLimitToDevices = 2
End Enum
Private Structure FILETIME
Dim dwLowDateTime As UInt32
Dim dwHighDateTime As UInt32
End Structure
Private Structure WIN32_FIND_DATA
Dim dwFileAttributes As UInt32
Dim ftCreationTime As FILETIME
Dim ftLastAccessTime As FILETIME
Dim ftLastWriteTime As FILETIME
Dim nFileSizeHigh As UInt32
Dim nFileSizeLow As UInt32
Dim dwReserved0 As UInt32
Dim dwReserved1 As UInt32
<VBFixedString(MAX_PATH), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=MAX_PATH)> Public cFileName As String
<VBFixedString(14), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=14)> Public cAlternate As String
End Structure
Function StripNulls(ByRef OriginalStr As String) As String
If (InStr(OriginalStr, Chr(0)) > 0) Then
OriginalStr = VB.Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
End If
StripNulls = OriginalStr
End Function
Function FindFilesAPI(ByRef path As String, ByRef SearchStr As String, ByRef FileCount As Integer, ByRef DirCount As Integer) As Long
Dim FileName As String
Dim DirName As String
Dim dirNames() As String
Dim nDir As Integer = 0
Dim i As Long
Dim hSearchEx As Long
Dim WFD As WIN32_FIND_DATA = Nothing
Static Cont As Boolean
FindFilesAPI = 0
If VB.Right(path, 1) = "\" Then path = VB.Left(path, Len(path) - 1)
nDir = 0
ReDim dirNames(nDir)
Cont = True
Dim fInfoLevelId As FINDEX_INFO_LEVELS = 0
Dim lpFindFileData As WIN32_FIND_DATA = Nothing
Dim fSearchOp As FINDEX_SEARCH_OPS = 0
Dim lpSearchFilter As Int32 = Nothing
Dim dwAdditionalFlags As Integer = 0
Dim lpFileName_str As String = "\\?\UNC\" & path & "\*"
Dim lpFileName_IntPtr As IntPtr = Marshal.StringToHGlobalAuto(lpFileName_str)
Dim lpFindFileData_Original As WIN32_FIND_DATA = Nothing
Dim lpFindFileData_IntPtr As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(lpFindFileData_Original))
Try
Marshal.StructureToPtr(lpFindFileData_Original, lpFindFileData_IntPtr, False)
hSearchEx = FindFirstFileExW(lpFileName_IntPtr, fInfoLevelId, lpFindFileData_IntPtr, fSearchOp, lpSearchFilter, dwAdditionalFlags)
WFD = CType(Marshal.PtrToStructure(lpFindFileData_IntPtr, GetType(WIN32_FIND_DATA)), WIN32_FIND_DATA)
Finally
Marshal.FreeHGlobal(lpFileName_IntPtr)
Marshal.FreeHGlobal(lpFindFileData_IntPtr)
End Try
If hSearchEx <> INVALID_HANDLE_VALUE Then
Do While Cont
System.Windows.Forms.Application.DoEvents()
DirName = StripNulls(WFD.cFileName)
If (DirName <> ".") And (DirName <> "..") And (DirName <> "") Then
Dim FileAttributes As Integer = GetFileAttributesW("\\?\UNC\" & path & "\" & DirName)
If FileAttributes And FILE_ATTRIBUTE_DIRECTORY Then
dirNames(nDir) = DirName
DirCount = DirCount + 1
nDir = nDir + 1
ReDim Preserve dirNames(nDir)
List1.Items.Add(path & "\" & DirName)
End If
End If
Cont = FindNextFileW(hSearchEx, WFD)
Loop
Cont = FindClose(hSearchEx)
If Cont = False Then
MsgBox("Error: " + Str(GetLastError))
End If
End If
End Function
Private Sub Go_cmd_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Go_cmd.Click
Dim SearchPath, FindStr As String
Dim FileSize As Long
Dim NumFiles, NumDirs As Long
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
List1.Items.Clear()
SearchPath = Text1.Text
FindStr = Text2.Text
FileSize = FindFilesAPI(SearchPath, FindStr, NumFiles, NumDirs)
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
End Sub
Private Sub Quit_cmd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Quit_cmd.Click
End
End Sub
End Class
|
|
|
|
|
May I ask to what end are you doing this? Why go through all of this trouble when the functionality of it is wrapper in the System.Io.FileInfo class?
Your return type for the Declare is wrong. You've got it as Long when it returns an Int32.
You may want to look at this[^] before proceeding. You don't need to specifically say your using the W version. The declare on the linked page will selected the W version if its available.
|
|
|
|
|
Dave Kreskowiak wrote: May I ask to what end are you doing this? Why go through all of this trouble when the functionality of it is wrapper in the System.Io.FileInfo class?
System.Io.FileInfo is limited to the MAX_PATH =260 barrier, as far as I can tell.
Dave Kreskowiak wrote: Your return type for the Declare is wrong. You've got it as Long when it returns an Int32.
I tried Int32, but the function returns -1 in that case. However, using Long seems completely wrong too, because the function is inside a 32bit set of libraries...win32. So it can't deal with a 64bit Long.
|
|
|
|
|
treddie wrote: System.Io.FileInfo is limited to the MAX_PATH =260 barrier, as far as I can
tell.
Yeah, that's because it's the limit in Windows, not .NET. The current path limit is 248 characters and the filename limit is 260.
treddie wrote: I tried Int32, but the function returns -1 in that case. However, using Long
seems completely wrong too, because the function is inside a 32bit set of
libraries...win32. So it can't deal with a 64bit Long.
The return value is either going to be a valid file handle, or INVALID_HANDLE_VALUE if the search fails for any reaons. IIRC, INVALID_HANDLE_VALUE is 0xFFFFFFFF, -1 decimal. It's been telling that that the call to FindFirstFileEx has been failing this entire time.
Check the return value before you try to use it. If it's -1, call GetLastError for the error code and it'll give you a clue as to why it failed.
But, I think you're wasting your time doing it the really hard way.
|
|
|
|
|
Dave Kreskowiak wrote: that's because it's the limit in Windows, not .NET. The current path limit is 248 characters and the filename limit is 260.
But there are easy ways to accidentally create pathnames much much longer than that. When I try the FileInfo class, I run into that barrier. FindFirstFileEx() allows me to get around that problem. I have that working fine. But the Unicode part of it is what is biting me.
Incidentally, I also found through tests that the TRUE limit for Windows, is 240 characters max. When you subtract the 8.3name from the 260 and get 248, you still have to remove another 3 for the root folder...That leaves you with 245, but then you cannot use another 5 characters. This may be a bug in Windows, but in some cases, if you try to go beyond 240, you can open/save a file OK, even move it or change its name, but you may not be able to right-click it without crashing Windows and forcing it to restart. Fortunately, you do not lose any of your running apps, but all the desktop windows you had open, get closed.
UPDATE: Error code is 2, file not found. Which repeats what the returned value (-1)of the function says. So no help from GetLastError, there.
modified 4-Jun-13 17:57pm.
|
|
|
|
|
I found at least part of the problem. A string variable cannot contain Unicode characters. So Dim lpFileName_str As String = "\\?\UNC\" & path & "\*" will not work and comes back with, for example, "\\?\UNC\d:\?????????\*" . Now I think I see why the string parameter needs to be changed to a pointer to the path, rather than a string representing the path.
Also, when I put the path into memory, and then retrieve it, everything is correct except the "\*" at the end...It gets interpreted as "[foreign character]*" . So I think I'm finally on to at least part of the solution. I'll take a look at how to handle backslashes in Unicode strings and see what happens. That also explains why the return value from the function was "-1", file not found.
modified 4-Jun-13 18:28pm.
|
|
|
|
|
|