GetProfileString (VB.NET) chyba v chráněné paměti   zodpovězená otázka

VB.NET

Zdravim,

mám problém s funkcí, která čte hodnotu z ini souboru.

Deklarace:

Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal kategorie As String, ByVal klíč As String, ByVal zakladni As String, ByVal vraci As String, ByVal delka As Integer, ByVal cesta As String) As Integer

a k tomu kód:

Dim vraceno As String
GetPrivateProfileString("Hlavni", "vraceno", Nothing, vraceno, 255, Dir1.Path & "\" & soubor)

popis chyby:

Došlo k pokusu o čtení nebo zápis v chráněné paměti. Zpravidla se jedná o indikaci, že došlo k poškození další paměti.

číslo chyby:

-2147467261

Kdybyste se na to mohli mrknout byl bych rád :-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Přesně na tohle jsem viděl managed alternativu

( http://www.codeproject.com/KB/files/VbNe... )

která řeší čtení / zápis ini souborů pomocí porstředků samotného jazyka. Funguje docela pěkně a neobsahuje import z kernel32.dll, zkus použít.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Myslím, jestli parametr vraci nemá být předáván ByRef.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Jak to teda má být ?

Jo a ta funkce IniFile mi nějak nešlape, napíšu tam Imports IniFile a vypíše to error

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A přidal jste tu knihovnu do referencí?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jak tam přidám kernel32.dll ?

Mě to nejde když dám browse a system32 a kernel32.dll

pak to napíše že není přístupný nebo není COM knihovna nebo co.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Záleží, jestli to děláte přes tu API funkci (pak do referencí nic přidávat nemusíte), ale to nějak v .NETu nefunguje spolehlivě, asi je špatně deklarace.

Anebo používáte tu knihovnu z CodePlexu a tu musíte přidat do referencí. Kernel32.dll do referencí nepatří v žádném případě.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

potřeboval bych to teda nějak vyřešit, budu dělat program který bude z databáze na serveru číst data a podle toho otevírat soubory INI a popřípadně v nich něco měnit, jak na to ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback